/*
 * Zealcomm iRTC SDK version 4.5.0
 * Copyright (c) 2024 Zealcomm <https://www.zealcomm.cn>
 * Homepage: https://www.zealcomm.cn
 */

!(function (e) {
	if ('object' == typeof exports && 'undefined' != typeof module) module.exports = e();
	else if ('function' == typeof define && define.amd) define([], e);
	else {
		('undefined' != typeof window ? window : 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : this).IRtc = e();
	}
})(function () {
	return (function () {
		return function e(t, r, n) {
			function i(a, s) {
				if (!r[a]) {
					if (!t[a]) {
						var u = 'function' == typeof require && require;
						if (!s && u) return u(a, !0);
						if (o) return o(a, !0);
						var c = new Error("Cannot find module '" + a + "'");
						throw ((c.code = 'MODULE_NOT_FOUND'), c);
					}
					var l = (r[a] = { exports: {} });
					t[a][0].call(
						l.exports,
						function (e) {
							return i(t[a][1][e] || e);
						},
						l,
						l.exports,
						e,
						t,
						r,
						n
					);
				}
				return r[a].exports;
			}
			for (var o = 'function' == typeof require && require, a = 0; a < n.length; a++) i(n[a]);
			return i;
		};
	})()(
		{
			1: [
				function (e, t, r) {
					(t.exports = function (e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			2: [
				function (e, t, r) {
					(t.exports = function (e) {
						if (Array.isArray(e)) return e;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			3: [
				function (e, t, r) {
					(t.exports = function (e) {
						if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
						return e;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			4: [
				function (e, t, r) {
					(t.exports = function (e, t) {
						return t.get ? t.get.call(e) : t.value;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			5: [
				function (e, t, r) {
					(t.exports = function (e, t, r) {
						if (t.set) t.set.call(e, r);
						else {
							if (!t.writable) throw new TypeError('attempted to set read only private field');
							t.value = r;
						}
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			6: [
				function (e, t, r) {
					(t.exports = function (e, t) {
						if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function');
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			7: [
				function (e, t, r) {
					(t.exports = function (e, t, r) {
						if (!t.has(e)) throw new TypeError('attempted to ' + r + ' private field on non-instance');
						return t.get(e);
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			8: [
				function (e, t, r) {
					var n = e('./classApplyDescriptorGet.js'),
						i = e('./classExtractFieldDescriptor.js');
					(t.exports = function (e, t) {
						var r = i(e, t, 'get');
						return n(e, r);
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './classApplyDescriptorGet.js': 4, './classExtractFieldDescriptor.js': 7 },
			],
			9: [
				function (e, t, r) {
					var n = e('./classApplyDescriptorSet.js'),
						i = e('./classExtractFieldDescriptor.js');
					(t.exports = function (e, t, r) {
						var o = i(e, t, 'set');
						return n(e, o, r), r;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './classApplyDescriptorSet.js': 5, './classExtractFieldDescriptor.js': 7 },
			],
			10: [
				function (e, t, r) {
					var n = e('./setPrototypeOf.js'),
						i = e('./isNativeReflectConstruct.js');
					function o(e, r, a) {
						return (
							i()
								? ((t.exports = o = Reflect.construct.bind()), (t.exports.__esModule = !0), (t.exports.default = t.exports))
								: ((t.exports = o =
										function (e, t, r) {
											var i = [null];
											i.push.apply(i, t);
											var o = new (Function.bind.apply(e, i))();
											return r && n(o, r.prototype), o;
										}),
								  (t.exports.__esModule = !0),
								  (t.exports.default = t.exports)),
							o.apply(null, arguments)
						);
					}
					(t.exports = o), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{ './isNativeReflectConstruct.js': 17, './setPrototypeOf.js': 21 },
			],
			11: [
				function (e, t, r) {
					function n(e, t) {
						for (var r = 0; r < t.length; r++) {
							var n = t[r];
							(n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
						}
					}
					(t.exports = function (e, t, r) {
						return t && n(e.prototype, t), r && n(e, r), Object.defineProperty(e, 'prototype', { writable: !1 }), e;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			12: [
				function (e, t, r) {
					var n = e('./superPropBase.js');
					function i() {
						return (
							'undefined' != typeof Reflect && Reflect.get
								? ((t.exports = i = Reflect.get.bind()), (t.exports.__esModule = !0), (t.exports.default = t.exports))
								: ((t.exports = i =
										function (e, t, r) {
											var i = n(e, t);
											if (i) {
												var o = Object.getOwnPropertyDescriptor(i, t);
												return o.get ? o.get.call(arguments.length < 3 ? e : r) : o.value;
											}
										}),
								  (t.exports.__esModule = !0),
								  (t.exports.default = t.exports)),
							i.apply(this, arguments)
						);
					}
					(t.exports = i), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{ './superPropBase.js': 23 },
			],
			13: [
				function (e, t, r) {
					function n(e) {
						return (
							(t.exports = n =
								Object.setPrototypeOf
									? Object.getPrototypeOf.bind()
									: function (e) {
											return e.__proto__ || Object.getPrototypeOf(e);
									  }),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							n(e)
						);
					}
					(t.exports = n), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{},
			],
			14: [
				function (e, t, r) {
					var n = e('./setPrototypeOf.js');
					(t.exports = function (e, t) {
						if ('function' != typeof t && null !== t) throw new TypeError('Super expression must either be null or a function');
						(e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } })), Object.defineProperty(e, 'prototype', { writable: !1 }), t && n(e, t);
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './setPrototypeOf.js': 21 },
			],
			15: [
				function (e, t, r) {
					(t.exports = function (e) {
						return e && e.__esModule ? e : { default: e };
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			16: [
				function (e, t, r) {
					(t.exports = function (e) {
						return -1 !== Function.toString.call(e).indexOf('[native code]');
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			17: [
				function (e, t, r) {
					(t.exports = function () {
						if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
						if (Reflect.construct.sham) return !1;
						if ('function' == typeof Proxy) return !0;
						try {
							return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
						} catch (e) {
							return !1;
						}
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			18: [
				function (e, t, r) {
					(t.exports = function (e, t) {
						var r = null == e ? null : ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (null != r) {
							var n,
								i,
								o = [],
								a = !0,
								s = !1;
							try {
								for (r = r.call(e); !(a = (n = r.next()).done) && (o.push(n.value), !t || o.length !== t); a = !0);
							} catch (e) {
								(s = !0), (i = e);
							} finally {
								try {
									a || null == r.return || r.return();
								} finally {
									if (s) throw i;
								}
							}
							return o;
						}
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			19: [
				function (e, t, r) {
					(t.exports = function () {
						throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{},
			],
			20: [
				function (e, t, r) {
					var n = e('./typeof.js').default,
						i = e('./assertThisInitialized.js');
					(t.exports = function (e, t) {
						if (t && ('object' === n(t) || 'function' == typeof t)) return t;
						if (void 0 !== t) throw new TypeError('Derived constructors may only return object or undefined');
						return i(e);
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './assertThisInitialized.js': 3, './typeof.js': 24 },
			],
			21: [
				function (e, t, r) {
					function n(e, r) {
						return (
							(t.exports = n =
								Object.setPrototypeOf
									? Object.setPrototypeOf.bind()
									: function (e, t) {
											return (e.__proto__ = t), e;
									  }),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							n(e, r)
						);
					}
					(t.exports = n), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{},
			],
			22: [
				function (e, t, r) {
					var n = e('./arrayWithHoles.js'),
						i = e('./iterableToArrayLimit.js'),
						o = e('./unsupportedIterableToArray.js'),
						a = e('./nonIterableRest.js');
					(t.exports = function (e, t) {
						return n(e) || i(e, t) || o(e, t) || a();
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './arrayWithHoles.js': 2, './iterableToArrayLimit.js': 18, './nonIterableRest.js': 19, './unsupportedIterableToArray.js': 25 },
			],
			23: [
				function (e, t, r) {
					var n = e('./getPrototypeOf.js');
					(t.exports = function (e, t) {
						for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = n(e)); );
						return e;
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './getPrototypeOf.js': 13 },
			],
			24: [
				function (e, t, r) {
					function n(e) {
						'@babel/helpers - typeof';
						return (
							(t.exports = n =
								'function' == typeof Symbol && 'symbol' == typeof Symbol.iterator
									? function (e) {
											return typeof e;
									  }
									: function (e) {
											return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : typeof e;
									  }),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							n(e)
						);
					}
					(t.exports = n), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{},
			],
			25: [
				function (e, t, r) {
					var n = e('./arrayLikeToArray.js');
					(t.exports = function (e, t) {
						if (e) {
							if ('string' == typeof e) return n(e, t);
							var r = Object.prototype.toString.call(e).slice(8, -1);
							return 'Object' === r && e.constructor && (r = e.constructor.name), 'Map' === r || 'Set' === r ? Array.from(e) : 'Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? n(e, t) : void 0;
						}
					}),
						(t.exports.__esModule = !0),
						(t.exports.default = t.exports);
				},
				{ './arrayLikeToArray.js': 1 },
			],
			26: [
				function (e, t, r) {
					var n = e('./getPrototypeOf.js'),
						i = e('./setPrototypeOf.js'),
						o = e('./isNativeFunction.js'),
						a = e('./construct.js');
					function s(e) {
						var r = 'function' == typeof Map ? new Map() : void 0;
						return (
							(t.exports = s =
								function (e) {
									if (null === e || !o(e)) return e;
									if ('function' != typeof e) throw new TypeError('Super expression must either be null or a function');
									if (void 0 !== r) {
										if (r.has(e)) return r.get(e);
										r.set(e, t);
									}
									function t() {
										return a(e, arguments, n(this).constructor);
									}
									return (t.prototype = Object.create(e.prototype, { constructor: { value: t, enumerable: !1, writable: !0, configurable: !0 } })), i(t, e);
								}),
							(t.exports.__esModule = !0),
							(t.exports.default = t.exports),
							s(e)
						);
					}
					(t.exports = s), (t.exports.__esModule = !0), (t.exports.default = t.exports);
				},
				{ './construct.js': 10, './getPrototypeOf.js': 13, './isNativeFunction.js': 16, './setPrototypeOf.js': 21 },
			],
			27: [
				function (e, t, r) {
					'use strict';
					var n,
						i,
						o = e('@babel/runtime/helpers/interopRequireDefault')(e('@babel/runtime/helpers/typeof'));
					(n = void 0),
						(i = function () {
							function e(t) {
								return (e =
									'function' == typeof Symbol && 'symbol' == (0, o.default)(Symbol.iterator)
										? function (e) {
												return (0, o.default)(e);
										  }
										: function (e) {
												return e && 'function' == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? 'symbol' : (0, o.default)(e);
										  })(t);
							}
							function t(e, t) {
								if (!(e instanceof t)) throw new TypeError('Cannot call a class as a function');
							}
							function r(e, t) {
								for (var r = 0; r < t.length; r++) {
									var n = t[r];
									(n.enumerable = n.enumerable || !1), (n.configurable = !0), 'value' in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
								}
							}
							function n(e, t, n) {
								return t && r(e.prototype, t), n && r(e, n), e;
							}
							function i() {
								return (i =
									Object.assign ||
									function (e) {
										for (var t = 1; t < arguments.length; t++) {
											var r = arguments[t];
											for (var n in r) Object.prototype.hasOwnProperty.call(r, n) && (e[n] = r[n]);
										}
										return e;
									}).apply(this, arguments);
							}
							function a(e, t) {
								if ('function' != typeof t && null !== t) throw new TypeError('Super expression must either be null or a function');
								(e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } })), t && u(e, t);
							}
							function s(e) {
								return (s = Object.setPrototypeOf
									? Object.getPrototypeOf
									: function (e) {
											return e.__proto__ || Object.getPrototypeOf(e);
									  })(e);
							}
							function u(e, t) {
								return (u =
									Object.setPrototypeOf ||
									function (e, t) {
										return (e.__proto__ = t), e;
									})(e, t);
							}
							function c() {
								if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
								if (Reflect.construct.sham) return !1;
								if ('function' == typeof Proxy) return !0;
								try {
									return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
								} catch (e) {
									return !1;
								}
							}
							function l(e, t, r) {
								return (l = c()
									? Reflect.construct
									: function (e, t, r) {
											var n = [null];
											n.push.apply(n, t);
											var i = new (Function.bind.apply(e, n))();
											return r && u(i, r.prototype), i;
									  }).apply(null, arguments);
							}
							function f(e) {
								var t = 'function' == typeof Map ? new Map() : void 0;
								return (f = function (e) {
									if (null === e || ((r = e), -1 === Function.toString.call(r).indexOf('[native code]'))) return e;
									var r;
									if ('function' != typeof e) throw new TypeError('Super expression must either be null or a function');
									if (void 0 !== t) {
										if (t.has(e)) return t.get(e);
										t.set(e, n);
									}
									function n() {
										return l(e, arguments, s(this).constructor);
									}
									return (n.prototype = Object.create(e.prototype, { constructor: { value: n, enumerable: !1, writable: !0, configurable: !0 } })), u(n, e);
								})(e);
							}
							function d(e) {
								if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
								return e;
							}
							function h(e) {
								var t = c();
								return function () {
									var r,
										n = s(e);
									if (t) {
										var i = s(this).constructor;
										r = Reflect.construct(n, arguments, i);
									} else r = n.apply(this, arguments);
									return (function (e, t) {
										if (t && ('object' == (0, o.default)(t) || 'function' == typeof t)) return t;
										if (void 0 !== t) throw new TypeError('Derived constructors may only return object or undefined');
										return d(e);
									})(this, r);
								};
							}
							function p(e, t, r) {
								return (p =
									'undefined' != typeof Reflect && Reflect.get
										? Reflect.get
										: function (e, t, r) {
												var n = (function (e, t) {
													for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = s(e)); );
													return e;
												})(e, t);
												if (n) {
													var i = Object.getOwnPropertyDescriptor(n, t);
													return i.get ? i.get.call(r) : i.value;
												}
										  })(e, t, r || e);
							}
							function v(e, t) {
								(null == t || t > e.length) && (t = e.length);
								for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
								return n;
							}
							function y(e, t) {
								var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
								if (!r) {
									if (
										Array.isArray(e) ||
										(r = (function (e, t) {
											if (e) {
												if ('string' == typeof e) return v(e, t);
												var r = Object.prototype.toString.call(e).slice(8, -1);
												return 'Object' === r && e.constructor && (r = e.constructor.name), 'Map' === r || 'Set' === r ? Array.from(e) : 'Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? v(e, t) : void 0;
											}
										})(e)) ||
										(t && e && 'number' == typeof e.length)
									) {
										r && (e = r);
										var n = 0,
											i = function () {};
										return {
											s: i,
											n: function () {
												return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
											},
											e: function (e) {
												throw e;
											},
											f: i,
										};
									}
									throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
								}
								var o,
									a = !0,
									s = !1;
								return {
									s: function () {
										r = r.call(e);
									},
									n: function () {
										var e = r.next();
										return (a = e.done), e;
									},
									e: function (e) {
										(s = !0), (o = e);
									},
									f: function () {
										try {
											a || null == r.return || r.return();
										} finally {
											if (s) throw o;
										}
									},
								};
							}
							var m = Object.create(null);
							(m.open = '0'), (m.close = '1'), (m.ping = '2'), (m.pong = '3'), (m.message = '4'), (m.upgrade = '5'), (m.noop = '6');
							var b = Object.create(null);
							Object.keys(m).forEach(function (e) {
								b[m[e]] = e;
							});
							for (
								var g = { type: 'error', data: 'parser error' },
									w = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === Object.prototype.toString.call(Blob)),
									_ = 'function' == typeof ArrayBuffer,
									k = function (e, t, r) {
										var n,
											i = e.type,
											o = e.data;
										return w && o instanceof Blob ? (t ? r(o) : E(o, r)) : _ && (o instanceof ArrayBuffer || ((n = o), 'function' == typeof ArrayBuffer.isView ? ArrayBuffer.isView(n) : n && n.buffer instanceof ArrayBuffer)) ? (t ? r(o) : E(new Blob([o]), r)) : r(m[i] + (o || ''));
									},
									E = function (e, t) {
										var r = new FileReader();
										return (
											(r.onload = function () {
												var e = r.result.split(',')[1];
												t('b' + e);
											}),
											r.readAsDataURL(e)
										);
									},
									S = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
									R = 'undefined' == typeof Uint8Array ? [] : new Uint8Array(256),
									C = 0;
								C < S.length;
								C++
							)
								R[S.charCodeAt(C)] = C;
							var A = 'function' == typeof ArrayBuffer,
								O = function (e, t) {
									if ('string' != typeof e) return { type: 'message', data: T(e, t) };
									var r = e.charAt(0);
									return 'b' === r ? { type: 'message', data: P(e.substring(1), t) } : b[r] ? (e.length > 1 ? { type: b[r], data: e.substring(1) } : { type: b[r] }) : g;
								},
								P = function (e, t) {
									if (A) {
										var r = (function (e) {
											var t,
												r,
												n,
												i,
												o,
												a = 0.75 * e.length,
												s = e.length,
												u = 0;
											'=' === e[e.length - 1] && (a--, '=' === e[e.length - 2] && a--);
											var c = new ArrayBuffer(a),
												l = new Uint8Array(c);
											for (t = 0; t < s; t += 4) (r = R[e.charCodeAt(t)]), (n = R[e.charCodeAt(t + 1)]), (i = R[e.charCodeAt(t + 2)]), (o = R[e.charCodeAt(t + 3)]), (l[u++] = (r << 2) | (n >> 4)), (l[u++] = ((15 & n) << 4) | (i >> 2)), (l[u++] = ((3 & i) << 6) | (63 & o));
											return c;
										})(e);
										return T(r, t);
									}
									return { base64: !0, data: e };
								},
								T = function (e, t) {
									return 'blob' === t && e instanceof ArrayBuffer ? new Blob([e]) : e;
								},
								j = String.fromCharCode(30);
							function x(e) {
								if (e)
									return (function (e) {
										for (var t in x.prototype) e[t] = x.prototype[t];
										return e;
									})(e);
							}
							(x.prototype.on = x.prototype.addEventListener =
								function (e, t) {
									return (this._callbacks = this._callbacks || {}), (this._callbacks['$' + e] = this._callbacks['$' + e] || []).push(t), this;
								}),
								(x.prototype.once = function (e, t) {
									function r() {
										this.off(e, r), t.apply(this, arguments);
									}
									return (r.fn = t), this.on(e, r), this;
								}),
								(x.prototype.off =
									x.prototype.removeListener =
									x.prototype.removeAllListeners =
									x.prototype.removeEventListener =
										function (e, t) {
											if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
											var r,
												n = this._callbacks['$' + e];
											if (!n) return this;
											if (1 == arguments.length) return delete this._callbacks['$' + e], this;
											for (var i = 0; i < n.length; i++)
												if ((r = n[i]) === t || r.fn === t) {
													n.splice(i, 1);
													break;
												}
											return 0 === n.length && delete this._callbacks['$' + e], this;
										}),
								(x.prototype.emit = function (e) {
									this._callbacks = this._callbacks || {};
									for (var t = new Array(arguments.length - 1), r = this._callbacks['$' + e], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
									if (r) {
										n = 0;
										for (var i = (r = r.slice(0)).length; n < i; ++n) r[n].apply(this, t);
									}
									return this;
								}),
								(x.prototype.emitReserved = x.prototype.emit),
								(x.prototype.listeners = function (e) {
									return (this._callbacks = this._callbacks || {}), this._callbacks['$' + e] || [];
								}),
								(x.prototype.hasListeners = function (e) {
									return !!this.listeners(e).length;
								});
							var I = 'undefined' != typeof self ? self : 'undefined' != typeof window ? window : Function('return this')();
							function M(e) {
								for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
								return r.reduce(function (t, r) {
									return e.hasOwnProperty(r) && (t[r] = e[r]), t;
								}, {});
							}
							var B = setTimeout,
								D = clearTimeout;
							function L(e, t) {
								t.useNativeTimers ? ((e.setTimeoutFn = B.bind(I)), (e.clearTimeoutFn = D.bind(I))) : ((e.setTimeoutFn = setTimeout.bind(I)), (e.clearTimeoutFn = clearTimeout.bind(I)));
							}
							var N,
								U = (function (e) {
									a(n, f(Error));
									var r = h(n);
									function n(e, i, o) {
										var a;
										return t(this, n), ((a = r.call(this, e)).description = i), (a.context = o), (a.type = 'TransportError'), a;
									}
									return n;
								})(),
								q = (function (e) {
									a(i, x);
									var r = h(i);
									function i(e) {
										var n;
										return t(this, i), ((n = r.call(this)).writable = !1), L(d(n), e), (n.opts = e), (n.query = e.query), (n.readyState = ''), (n.socket = e.socket), n;
									}
									return (
										n(i, [
											{
												key: 'onError',
												value: function (e, t, r) {
													return p(s(i.prototype), 'emitReserved', this).call(this, 'error', new U(e, t, r)), this;
												},
											},
											{
												key: 'open',
												value: function () {
													return ('closed' !== this.readyState && '' !== this.readyState) || ((this.readyState = 'opening'), this.doOpen()), this;
												},
											},
											{
												key: 'close',
												value: function () {
													return ('opening' !== this.readyState && 'open' !== this.readyState) || (this.doClose(), this.onClose()), this;
												},
											},
											{
												key: 'send',
												value: function (e) {
													'open' === this.readyState && this.write(e);
												},
											},
											{
												key: 'onOpen',
												value: function () {
													(this.readyState = 'open'), (this.writable = !0), p(s(i.prototype), 'emitReserved', this).call(this, 'open');
												},
											},
											{
												key: 'onData',
												value: function (e) {
													var t = O(e, this.socket.binaryType);
													this.onPacket(t);
												},
											},
											{
												key: 'onPacket',
												value: function (e) {
													p(s(i.prototype), 'emitReserved', this).call(this, 'packet', e);
												},
											},
											{
												key: 'onClose',
												value: function (e) {
													(this.readyState = 'closed'), p(s(i.prototype), 'emitReserved', this).call(this, 'close', e);
												},
											},
										]),
										i
									);
								})(),
								W = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''),
								F = {},
								Y = 0,
								V = 0;
							function z(e) {
								var t = '';
								do {
									(t = W[e % 64] + t), (e = Math.floor(e / 64));
								} while (e > 0);
								return t;
							}
							function H() {
								var e = z(+new Date());
								return e !== N ? ((Y = 0), (N = e)) : e + '.' + z(Y++);
							}
							for (; V < 64; V++) F[W[V]] = V;
							function J(e) {
								var t = '';
								for (var r in e) e.hasOwnProperty(r) && (t.length && (t += '&'), (t += encodeURIComponent(r) + '=' + encodeURIComponent(e[r])));
								return t;
							}
							var K = !1;
							try {
								K = 'undefined' != typeof XMLHttpRequest && 'withCredentials' in new XMLHttpRequest();
							} catch (e) {}
							var $ = K;
							function G(e) {
								var t = e.xdomain;
								try {
									if ('undefined' != typeof XMLHttpRequest && (!t || $)) return new XMLHttpRequest();
								} catch (e) {}
								if (!t)
									try {
										return new I[['Active'].concat('Object').join('X')]('Microsoft.XMLHTTP');
									} catch (e) {}
							}
							function Q() {}
							var X = null != new G({ xdomain: !1 }).responseType,
								Z = (function (e) {
									a(o, q);
									var r = h(o);
									function o(e) {
										var n;
										if ((t(this, o), ((n = r.call(this, e)).polling = !1), 'undefined' != typeof location)) {
											var i = 'https:' === location.protocol,
												a = location.port;
											a || (a = i ? '443' : '80'), (n.xd = ('undefined' != typeof location && e.hostname !== location.hostname) || a !== e.port), (n.xs = e.secure !== i);
										}
										var s = e && e.forceBase64;
										return (n.supportsBinary = X && !s), n;
									}
									return (
										n(o, [
											{
												key: 'name',
												get: function () {
													return 'polling';
												},
											},
											{
												key: 'doOpen',
												value: function () {
													this.poll();
												},
											},
											{
												key: 'pause',
												value: function (e) {
													var t = this;
													this.readyState = 'pausing';
													var r = function () {
														(t.readyState = 'paused'), e();
													};
													if (this.polling || !this.writable) {
														var n = 0;
														this.polling &&
															(n++,
															this.once('pollComplete', function () {
																--n || r();
															})),
															this.writable ||
																(n++,
																this.once('drain', function () {
																	--n || r();
																}));
													} else r();
												},
											},
											{
												key: 'poll',
												value: function () {
													(this.polling = !0), this.doPoll(), this.emitReserved('poll');
												},
											},
											{
												key: 'onData',
												value: function (e) {
													var t = this;
													(function (e, t) {
														for (var r = e.split(j), n = [], i = 0; i < r.length; i++) {
															var o = O(r[i], t);
															if ((n.push(o), 'error' === o.type)) break;
														}
														return n;
													})(e, this.socket.binaryType).forEach(function (e) {
														if (('opening' === t.readyState && 'open' === e.type && t.onOpen(), 'close' === e.type)) return t.onClose({ description: 'transport closed by the server' }), !1;
														t.onPacket(e);
													}),
														'closed' !== this.readyState && ((this.polling = !1), this.emitReserved('pollComplete'), 'open' === this.readyState && this.poll());
												},
											},
											{
												key: 'doClose',
												value: function () {
													var e = this,
														t = function () {
															e.write([{ type: 'close' }]);
														};
													'open' === this.readyState ? t() : this.once('open', t);
												},
											},
											{
												key: 'write',
												value: function (e) {
													var t = this;
													(this.writable = !1),
														(function (e, t) {
															var r = e.length,
																n = new Array(r),
																i = 0;
															e.forEach(function (e, o) {
																k(e, !1, function (e) {
																	(n[o] = e), ++i === r && t(n.join(j));
																});
															});
														})(e, function (e) {
															t.doWrite(e, function () {
																(t.writable = !0), t.emitReserved('drain');
															});
														});
												},
											},
											{
												key: 'uri',
												value: function () {
													var e = this.query || {},
														t = this.opts.secure ? 'https' : 'http',
														r = '';
													!1 !== this.opts.timestampRequests && (e[this.opts.timestampParam] = H()), this.supportsBinary || e.sid || (e.b64 = 1), this.opts.port && (('https' === t && 443 !== Number(this.opts.port)) || ('http' === t && 80 !== Number(this.opts.port))) && (r = ':' + this.opts.port);
													var n = J(e);
													return t + '://' + (-1 !== this.opts.hostname.indexOf(':') ? '[' + this.opts.hostname + ']' : this.opts.hostname) + r + this.opts.path + (n.length ? '?' + n : '');
												},
											},
											{
												key: 'request',
												value: function () {
													var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
													return i(e, { xd: this.xd, xs: this.xs }, this.opts), new ee(this.uri(), e);
												},
											},
											{
												key: 'doWrite',
												value: function (e, t) {
													var r = this,
														n = this.request({ method: 'POST', data: e });
													n.on('success', t),
														n.on('error', function (e, t) {
															r.onError('xhr post error', e, t);
														});
												},
											},
											{
												key: 'doPoll',
												value: function () {
													var e = this,
														t = this.request();
													t.on('data', this.onData.bind(this)),
														t.on('error', function (t, r) {
															e.onError('xhr poll error', t, r);
														}),
														(this.pollXhr = t);
												},
											},
										]),
										o
									);
								})(),
								ee = (function (e) {
									a(i, x);
									var r = h(i);
									function i(e, n) {
										var o;
										return t(this, i), L(d((o = r.call(this))), n), (o.opts = n), (o.method = n.method || 'GET'), (o.uri = e), (o.async = !1 !== n.async), (o.data = void 0 !== n.data ? n.data : null), o.create(), o;
									}
									return (
										n(i, [
											{
												key: 'create',
												value: function () {
													var e = this,
														t = M(this.opts, 'agent', 'pfx', 'key', 'passphrase', 'cert', 'ca', 'ciphers', 'rejectUnauthorized', 'autoUnref');
													(t.xdomain = !!this.opts.xd), (t.xscheme = !!this.opts.xs);
													var r = (this.xhr = new G(t));
													try {
														r.open(this.method, this.uri, this.async);
														try {
															if (this.opts.extraHeaders) for (var n in (r.setDisableHeaderCheck && r.setDisableHeaderCheck(!0), this.opts.extraHeaders)) this.opts.extraHeaders.hasOwnProperty(n) && r.setRequestHeader(n, this.opts.extraHeaders[n]);
														} catch (e) {}
														if ('POST' === this.method)
															try {
																r.setRequestHeader('Content-type', 'text/plain;charset=UTF-8');
															} catch (e) {}
														try {
															r.setRequestHeader('Accept', '*/*');
														} catch (e) {}
														'withCredentials' in r && (r.withCredentials = this.opts.withCredentials),
															this.opts.requestTimeout && (r.timeout = this.opts.requestTimeout),
															(r.onreadystatechange = function () {
																4 === r.readyState &&
																	(200 === r.status || 1223 === r.status
																		? e.onLoad()
																		: e.setTimeoutFn(function () {
																				e.onError('number' == typeof r.status ? r.status : 0);
																		  }, 0));
															}),
															r.send(this.data);
													} catch (t) {
														return void this.setTimeoutFn(function () {
															e.onError(t);
														}, 0);
													}
													'undefined' != typeof document && ((this.index = i.requestsCount++), (i.requests[this.index] = this));
												},
											},
											{
												key: 'onError',
												value: function (e) {
													this.emitReserved('error', e, this.xhr), this.cleanup(!0);
												},
											},
											{
												key: 'cleanup',
												value: function (e) {
													if (void 0 !== this.xhr && null !== this.xhr) {
														if (((this.xhr.onreadystatechange = Q), e))
															try {
																this.xhr.abort();
															} catch (e) {}
														'undefined' != typeof document && delete i.requests[this.index], (this.xhr = null);
													}
												},
											},
											{
												key: 'onLoad',
												value: function () {
													var e = this.xhr.responseText;
													null !== e && (this.emitReserved('data', e), this.emitReserved('success'), this.cleanup());
												},
											},
											{
												key: 'abort',
												value: function () {
													this.cleanup();
												},
											},
										]),
										i
									);
								})();
							function te() {
								for (var e in ee.requests) ee.requests.hasOwnProperty(e) && ee.requests[e].abort();
							}
							(ee.requestsCount = 0), (ee.requests = {}), 'undefined' != typeof document && ('function' == typeof attachEvent ? attachEvent('onunload', te) : 'function' == typeof addEventListener && addEventListener('onpagehide' in I ? 'pagehide' : 'unload', te, !1));
							var re =
									'function' == typeof Promise && 'function' == typeof Promise.resolve
										? function (e) {
												return Promise.resolve().then(e);
										  }
										: function (e, t) {
												return t(e, 0);
										  },
								ne = I.WebSocket || I.MozWebSocket,
								ie = 'undefined' != typeof navigator && 'string' == typeof navigator.product && 'reactnative' === navigator.product.toLowerCase(),
								oe = {
									websocket: (function (e) {
										a(i, q);
										var r = h(i);
										function i(e) {
											var n;
											return t(this, i), ((n = r.call(this, e)).supportsBinary = !e.forceBase64), n;
										}
										return (
											n(i, [
												{
													key: 'name',
													get: function () {
														return 'websocket';
													},
												},
												{
													key: 'doOpen',
													value: function () {
														if (this.check()) {
															var e = this.uri(),
																t = this.opts.protocols,
																r = ie ? {} : M(this.opts, 'agent', 'perMessageDeflate', 'pfx', 'key', 'passphrase', 'cert', 'ca', 'ciphers', 'rejectUnauthorized', 'localAddress', 'protocolVersion', 'origin', 'maxPayload', 'family', 'checkServerIdentity');
															this.opts.extraHeaders && (r.headers = this.opts.extraHeaders);
															try {
																this.ws = ie ? new ne(e, t, r) : t ? new ne(e, t) : new ne(e);
															} catch (e) {
																return this.emitReserved('error', e);
															}
															(this.ws.binaryType = this.socket.binaryType || 'arraybuffer'), this.addEventListeners();
														}
													},
												},
												{
													key: 'addEventListeners',
													value: function () {
														var e = this;
														(this.ws.onopen = function () {
															e.opts.autoUnref && e.ws._socket.unref(), e.onOpen();
														}),
															(this.ws.onclose = function (t) {
																return e.onClose({ description: 'websocket connection closed', context: t });
															}),
															(this.ws.onmessage = function (t) {
																return e.onData(t.data);
															}),
															(this.ws.onerror = function (t) {
																return e.onError('websocket error', t);
															});
													},
												},
												{
													key: 'write',
													value: function (e) {
														var t = this;
														this.writable = !1;
														for (
															var r = function (r) {
																	var n = e[r],
																		i = r === e.length - 1;
																	k(n, t.supportsBinary, function (e) {
																		try {
																			t.ws.send(e);
																		} catch (e) {}
																		i &&
																			re(function () {
																				(t.writable = !0), t.emitReserved('drain');
																			}, t.setTimeoutFn);
																	});
																},
																n = 0;
															n < e.length;
															n++
														)
															r(n);
													},
												},
												{
													key: 'doClose',
													value: function () {
														void 0 !== this.ws && (this.ws.close(), (this.ws = null));
													},
												},
												{
													key: 'uri',
													value: function () {
														var e = this.query || {},
															t = this.opts.secure ? 'wss' : 'ws',
															r = '';
														this.opts.port && (('wss' === t && 443 !== Number(this.opts.port)) || ('ws' === t && 80 !== Number(this.opts.port))) && (r = ':' + this.opts.port), this.opts.timestampRequests && (e[this.opts.timestampParam] = H()), this.supportsBinary || (e.b64 = 1);
														var n = J(e);
														return t + '://' + (-1 !== this.opts.hostname.indexOf(':') ? '[' + this.opts.hostname + ']' : this.opts.hostname) + r + this.opts.path + (n.length ? '?' + n : '');
													},
												},
												{
													key: 'check',
													value: function () {
														return !(!ne || ('__initialize' in ne && this.name === i.prototype.name));
													},
												},
											]),
											i
										);
									})(),
									polling: Z,
								},
								ae = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
								se = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];
							function ue(e) {
								var t = e,
									r = e.indexOf('['),
									n = e.indexOf(']');
								-1 != r && -1 != n && (e = e.substring(0, r) + e.substring(r, n).replace(/:/g, ';') + e.substring(n, e.length));
								for (var i, o, a = ae.exec(e || ''), s = {}, u = 14; u--; ) s[se[u]] = a[u] || '';
								return (
									-1 != r && -1 != n && ((s.source = t), (s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, ':')), (s.authority = s.authority.replace('[', '').replace(']', '').replace(/;/g, ':')), (s.ipv6uri = !0)),
									(s.pathNames = (function (e, t) {
										var r = t.replace(/\/{2,9}/g, '/').split('/');
										return ('/' != t.substr(0, 1) && 0 !== t.length) || r.splice(0, 1), '/' == t.substr(t.length - 1, 1) && r.splice(r.length - 1, 1), r;
									})(0, s.path)),
									(s.queryKey =
										((i = s.query),
										(o = {}),
										i.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function (e, t, r) {
											t && (o[t] = r);
										}),
										o)),
									s
								);
							}
							var ce = (function (r) {
								a(s, x);
								var o = h(s);
								function s(r) {
									var n,
										a = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
									return (
										t(this, s),
										(n = o.call(this)),
										r && 'object' === e(r) && ((a = r), (r = null)),
										r ? ((r = ue(r)), (a.hostname = r.host), (a.secure = 'https' === r.protocol || 'wss' === r.protocol), (a.port = r.port), r.query && (a.query = r.query)) : a.host && (a.hostname = ue(a.host).host),
										L(d(n), a),
										(n.secure = null != a.secure ? a.secure : 'undefined' != typeof location && 'https:' === location.protocol),
										a.hostname && !a.port && (a.port = n.secure ? '443' : '80'),
										(n.hostname = a.hostname || ('undefined' != typeof location ? location.hostname : 'localhost')),
										(n.port = a.port || ('undefined' != typeof location && location.port ? location.port : n.secure ? '443' : '80')),
										(n.transports = a.transports || ['polling', 'websocket']),
										(n.readyState = ''),
										(n.writeBuffer = []),
										(n.prevBufferLen = 0),
										(n.opts = i({ path: '/engine.io', agent: !1, withCredentials: !1, upgrade: !0, timestampParam: 't', rememberUpgrade: !1, rejectUnauthorized: !0, perMessageDeflate: { threshold: 1024 }, transportOptions: {}, closeOnBeforeunload: !0 }, a)),
										(n.opts.path = n.opts.path.replace(/\/$/, '') + '/'),
										'string' == typeof n.opts.query &&
											(n.opts.query = (function (e) {
												for (var t = {}, r = e.split('&'), n = 0, i = r.length; n < i; n++) {
													var o = r[n].split('=');
													t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);
												}
												return t;
											})(n.opts.query)),
										(n.id = null),
										(n.upgrades = null),
										(n.pingInterval = null),
										(n.pingTimeout = null),
										(n.pingTimeoutTimer = null),
										'function' == typeof addEventListener &&
											(n.opts.closeOnBeforeunload &&
												addEventListener(
													'beforeunload',
													function () {
														n.transport && (n.transport.removeAllListeners(), n.transport.close());
													},
													!1
												),
											'localhost' !== n.hostname &&
												((n.offlineEventListener = function () {
													n.onClose('transport close', { description: 'network connection lost' });
												}),
												addEventListener('offline', n.offlineEventListener, !1))),
										n.open(),
										n
									);
								}
								return (
									n(s, [
										{
											key: 'createTransport',
											value: function (e) {
												var t = i({}, this.opts.query);
												(t.EIO = 4), (t.transport = e), this.id && (t.sid = this.id);
												var r = i({}, this.opts.transportOptions[e], this.opts, { query: t, socket: this, hostname: this.hostname, secure: this.secure, port: this.port });
												return new oe[e](r);
											},
										},
										{
											key: 'open',
											value: function () {
												var e,
													t = this;
												if (this.opts.rememberUpgrade && s.priorWebsocketSuccess && -1 !== this.transports.indexOf('websocket')) e = 'websocket';
												else {
													if (0 === this.transports.length)
														return void this.setTimeoutFn(function () {
															t.emitReserved('error', 'No transports available');
														}, 0);
													e = this.transports[0];
												}
												this.readyState = 'opening';
												try {
													e = this.createTransport(e);
												} catch (e) {
													return this.transports.shift(), void this.open();
												}
												e.open(), this.setTransport(e);
											},
										},
										{
											key: 'setTransport',
											value: function (e) {
												var t = this;
												this.transport && this.transport.removeAllListeners(),
													(this.transport = e),
													e
														.on('drain', this.onDrain.bind(this))
														.on('packet', this.onPacket.bind(this))
														.on('error', this.onError.bind(this))
														.on('close', function (e) {
															return t.onClose('transport close', e);
														});
											},
										},
										{
											key: 'probe',
											value: function (e) {
												var t = this,
													r = this.createTransport(e),
													n = !1;
												s.priorWebsocketSuccess = !1;
												var i = function () {
													n ||
														(r.send([{ type: 'ping', data: 'probe' }]),
														r.once('packet', function (e) {
															if (!n)
																if ('pong' === e.type && 'probe' === e.data) {
																	if (((t.upgrading = !0), t.emitReserved('upgrading', r), !r)) return;
																	(s.priorWebsocketSuccess = 'websocket' === r.name),
																		t.transport.pause(function () {
																			n || ('closed' !== t.readyState && (f(), t.setTransport(r), r.send([{ type: 'upgrade' }]), t.emitReserved('upgrade', r), (r = null), (t.upgrading = !1), t.flush()));
																		});
																} else {
																	var i = new Error('probe error');
																	(i.transport = r.name), t.emitReserved('upgradeError', i);
																}
														}));
												};
												function o() {
													n || ((n = !0), f(), r.close(), (r = null));
												}
												var a = function (e) {
													var n = new Error('probe error: ' + e);
													(n.transport = r.name), o(), t.emitReserved('upgradeError', n);
												};
												function u() {
													a('transport closed');
												}
												function c() {
													a('socket closed');
												}
												function l(e) {
													r && e.name !== r.name && o();
												}
												var f = function () {
													r.removeListener('open', i), r.removeListener('error', a), r.removeListener('close', u), t.off('close', c), t.off('upgrading', l);
												};
												r.once('open', i), r.once('error', a), r.once('close', u), this.once('close', c), this.once('upgrading', l), r.open();
											},
										},
										{
											key: 'onOpen',
											value: function () {
												if (((this.readyState = 'open'), (s.priorWebsocketSuccess = 'websocket' === this.transport.name), this.emitReserved('open'), this.flush(), 'open' === this.readyState && this.opts.upgrade && this.transport.pause)) for (var e = 0, t = this.upgrades.length; e < t; e++) this.probe(this.upgrades[e]);
											},
										},
										{
											key: 'onPacket',
											value: function (e) {
												if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState)
													switch ((this.emitReserved('packet', e), this.emitReserved('heartbeat'), e.type)) {
														case 'open':
															this.onHandshake(JSON.parse(e.data));
															break;
														case 'ping':
															this.resetPingTimeout(), this.sendPacket('pong'), this.emitReserved('ping'), this.emitReserved('pong');
															break;
														case 'error':
															var t = new Error('server error');
															(t.code = e.data), this.onError(t);
															break;
														case 'message':
															this.emitReserved('data', e.data), this.emitReserved('message', e.data);
													}
											},
										},
										{
											key: 'onHandshake',
											value: function (e) {
												this.emitReserved('handshake', e), (this.id = e.sid), (this.transport.query.sid = e.sid), (this.upgrades = this.filterUpgrades(e.upgrades)), (this.pingInterval = e.pingInterval), (this.pingTimeout = e.pingTimeout), (this.maxPayload = e.maxPayload), this.onOpen(), 'closed' !== this.readyState && this.resetPingTimeout();
											},
										},
										{
											key: 'resetPingTimeout',
											value: function () {
												var e = this;
												this.clearTimeoutFn(this.pingTimeoutTimer),
													(this.pingTimeoutTimer = this.setTimeoutFn(function () {
														e.onClose('ping timeout');
													}, this.pingInterval + this.pingTimeout)),
													this.opts.autoUnref && this.pingTimeoutTimer.unref();
											},
										},
										{
											key: 'onDrain',
											value: function () {
												this.writeBuffer.splice(0, this.prevBufferLen), (this.prevBufferLen = 0), 0 === this.writeBuffer.length ? this.emitReserved('drain') : this.flush();
											},
										},
										{
											key: 'flush',
											value: function () {
												if ('closed' !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length) {
													var e = this.getWritablePackets();
													this.transport.send(e), (this.prevBufferLen = e.length), this.emitReserved('flush');
												}
											},
										},
										{
											key: 'getWritablePackets',
											value: function () {
												if (!(this.maxPayload && 'polling' === this.transport.name && this.writeBuffer.length > 1)) return this.writeBuffer;
												for (var e, t = 1, r = 0; r < this.writeBuffer.length; r++) {
													var n = this.writeBuffer[r].data;
													if (
														(n &&
															(t +=
																'string' == typeof (e = n)
																	? (function (e) {
																			for (var t = 0, r = 0, n = 0, i = e.length; n < i; n++) (t = e.charCodeAt(n)) < 128 ? (r += 1) : t < 2048 ? (r += 2) : t < 55296 || t >= 57344 ? (r += 3) : (n++, (r += 4));
																			return r;
																	  })(e)
																	: Math.ceil(1.33 * (e.byteLength || e.size))),
														r > 0 && t > this.maxPayload)
													)
														return this.writeBuffer.slice(0, r);
													t += 2;
												}
												return this.writeBuffer;
											},
										},
										{
											key: 'write',
											value: function (e, t, r) {
												return this.sendPacket('message', e, t, r), this;
											},
										},
										{
											key: 'send',
											value: function (e, t, r) {
												return this.sendPacket('message', e, t, r), this;
											},
										},
										{
											key: 'sendPacket',
											value: function (e, t, r, n) {
												if (('function' == typeof t && ((n = t), (t = void 0)), 'function' == typeof r && ((n = r), (r = null)), 'closing' !== this.readyState && 'closed' !== this.readyState)) {
													(r = r || {}).compress = !1 !== r.compress;
													var i = { type: e, data: t, options: r };
													this.emitReserved('packetCreate', i), this.writeBuffer.push(i), n && this.once('flush', n), this.flush();
												}
											},
										},
										{
											key: 'close',
											value: function () {
												var e = this,
													t = function () {
														e.onClose('forced close'), e.transport.close();
													},
													r = function r() {
														e.off('upgrade', r), e.off('upgradeError', r), t();
													},
													n = function () {
														e.once('upgrade', r), e.once('upgradeError', r);
													};
												return (
													('opening' !== this.readyState && 'open' !== this.readyState) ||
														((this.readyState = 'closing'),
														this.writeBuffer.length
															? this.once('drain', function () {
																	e.upgrading ? n() : t();
															  })
															: this.upgrading
															? n()
															: t()),
													this
												);
											},
										},
										{
											key: 'onError',
											value: function (e) {
												(s.priorWebsocketSuccess = !1), this.emitReserved('error', e), this.onClose('transport error', e);
											},
										},
										{
											key: 'onClose',
											value: function (e, t) {
												('opening' !== this.readyState && 'open' !== this.readyState && 'closing' !== this.readyState) ||
													(this.clearTimeoutFn(this.pingTimeoutTimer),
													this.transport.removeAllListeners('close'),
													this.transport.close(),
													this.transport.removeAllListeners(),
													'function' == typeof removeEventListener && removeEventListener('offline', this.offlineEventListener, !1),
													(this.readyState = 'closed'),
													(this.id = null),
													this.emitReserved('close', e, t),
													(this.writeBuffer = []),
													(this.prevBufferLen = 0));
											},
										},
										{
											key: 'filterUpgrades',
											value: function (e) {
												for (var t = [], r = 0, n = e.length; r < n; r++) ~this.transports.indexOf(e[r]) && t.push(e[r]);
												return t;
											},
										},
									]),
									s
								);
							})();
							ce.protocol = 4;
							var le,
								fe = 'function' == typeof ArrayBuffer,
								de = Object.prototype.toString,
								he = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === de.call(Blob)),
								pe = 'function' == typeof File || ('undefined' != typeof File && '[object FileConstructor]' === de.call(File));
							function ve(e) {
								return (
									(fe &&
										(e instanceof ArrayBuffer ||
											(function (e) {
												return 'function' == typeof ArrayBuffer.isView ? ArrayBuffer.isView(e) : e.buffer instanceof ArrayBuffer;
											})(e))) ||
									(he && e instanceof Blob) ||
									(pe && e instanceof File)
								);
							}
							function ye(t, r) {
								if (!t || 'object' !== e(t)) return !1;
								if (Array.isArray(t)) {
									for (var n = 0, i = t.length; n < i; n++) if (ye(t[n])) return !0;
									return !1;
								}
								if (ve(t)) return !0;
								if (t.toJSON && 'function' == typeof t.toJSON && 1 === arguments.length) return ye(t.toJSON(), !0);
								for (var o in t) if (Object.prototype.hasOwnProperty.call(t, o) && ye(t[o])) return !0;
								return !1;
							}
							function me(t, r) {
								if (!t) return t;
								if (ve(t)) {
									var n = { _placeholder: !0, num: r.length };
									return r.push(t), n;
								}
								if (Array.isArray(t)) {
									for (var i = new Array(t.length), o = 0; o < t.length; o++) i[o] = me(t[o], r);
									return i;
								}
								if ('object' === e(t) && !(t instanceof Date)) {
									var a = {};
									for (var s in t) Object.prototype.hasOwnProperty.call(t, s) && (a[s] = me(t[s], r));
									return a;
								}
								return t;
							}
							function be(t, r) {
								if (!t) return t;
								if (t && t._placeholder) return r[t.num];
								if (Array.isArray(t)) for (var n = 0; n < t.length; n++) t[n] = be(t[n], r);
								else if ('object' === e(t)) for (var i in t) Object.prototype.hasOwnProperty.call(t, i) && (t[i] = be(t[i], r));
								return t;
							}
							!(function (e) {
								(e[(e.CONNECT = 0)] = 'CONNECT'), (e[(e.DISCONNECT = 1)] = 'DISCONNECT'), (e[(e.EVENT = 2)] = 'EVENT'), (e[(e.ACK = 3)] = 'ACK'), (e[(e.CONNECT_ERROR = 4)] = 'CONNECT_ERROR'), (e[(e.BINARY_EVENT = 5)] = 'BINARY_EVENT'), (e[(e.BINARY_ACK = 6)] = 'BINARY_ACK');
							})(le || (le = {}));
							var ge = (function () {
									function e(r) {
										t(this, e), (this.replacer = r);
									}
									return (
										n(e, [
											{
												key: 'encode',
												value: function (e) {
													return (e.type !== le.EVENT && e.type !== le.ACK) || !ye(e) ? [this.encodeAsString(e)] : ((e.type = e.type === le.EVENT ? le.BINARY_EVENT : le.BINARY_ACK), this.encodeAsBinary(e));
												},
											},
											{
												key: 'encodeAsString',
												value: function (e) {
													var t = '' + e.type;
													return (e.type !== le.BINARY_EVENT && e.type !== le.BINARY_ACK) || (t += e.attachments + '-'), e.nsp && '/' !== e.nsp && (t += e.nsp + ','), null != e.id && (t += e.id), null != e.data && (t += JSON.stringify(e.data, this.replacer)), t;
												},
											},
											{
												key: 'encodeAsBinary',
												value: function (e) {
													var t = (function (e) {
															var t = [],
																r = e.data,
																n = e;
															return (n.data = me(r, t)), (n.attachments = t.length), { packet: n, buffers: t };
														})(e),
														r = this.encodeAsString(t.packet),
														n = t.buffers;
													return n.unshift(r), n;
												},
											},
										]),
										e
									);
								})(),
								we = (function (r) {
									a(o, x);
									var i = h(o);
									function o(e) {
										var r;
										return t(this, o), ((r = i.call(this)).reviver = e), r;
									}
									return (
										n(
											o,
											[
												{
													key: 'add',
													value: function (e) {
														var t;
														if ('string' == typeof e) (t = this.decodeString(e)).type === le.BINARY_EVENT || t.type === le.BINARY_ACK ? ((this.reconstructor = new _e(t)), 0 === t.attachments && p(s(o.prototype), 'emitReserved', this).call(this, 'decoded', t)) : p(s(o.prototype), 'emitReserved', this).call(this, 'decoded', t);
														else {
															if (!ve(e) && !e.base64) throw new Error('Unknown type: ' + e);
															if (!this.reconstructor) throw new Error('got binary data when not reconstructing a packet');
															(t = this.reconstructor.takeBinaryData(e)) && ((this.reconstructor = null), p(s(o.prototype), 'emitReserved', this).call(this, 'decoded', t));
														}
													},
												},
												{
													key: 'decodeString',
													value: function (e) {
														var t = 0,
															r = { type: Number(e.charAt(0)) };
														if (void 0 === le[r.type]) throw new Error('unknown packet type ' + r.type);
														if (r.type === le.BINARY_EVENT || r.type === le.BINARY_ACK) {
															for (var n = t + 1; '-' !== e.charAt(++t) && t != e.length; );
															var i = e.substring(n, t);
															if (i != Number(i) || '-' !== e.charAt(t)) throw new Error('Illegal attachments');
															r.attachments = Number(i);
														}
														if ('/' === e.charAt(t + 1)) {
															for (var a = t + 1; ++t && ',' !== e.charAt(t) && t !== e.length; );
															r.nsp = e.substring(a, t);
														} else r.nsp = '/';
														var s = e.charAt(t + 1);
														if ('' !== s && Number(s) == s) {
															for (var u = t + 1; ++t; ) {
																var c = e.charAt(t);
																if (null == c || Number(c) != c) {
																	--t;
																	break;
																}
																if (t === e.length) break;
															}
															r.id = Number(e.substring(u, t + 1));
														}
														if (e.charAt(++t)) {
															var l = this.tryParse(e.substr(t));
															if (!o.isPayloadValid(r.type, l)) throw new Error('invalid payload');
															r.data = l;
														}
														return r;
													},
												},
												{
													key: 'tryParse',
													value: function (e) {
														try {
															return JSON.parse(e, this.reviver);
														} catch (e) {
															return !1;
														}
													},
												},
												{
													key: 'destroy',
													value: function () {
														this.reconstructor && this.reconstructor.finishedReconstruction();
													},
												},
											],
											[
												{
													key: 'isPayloadValid',
													value: function (t, r) {
														switch (t) {
															case le.CONNECT:
																return 'object' === e(r);
															case le.DISCONNECT:
																return void 0 === r;
															case le.CONNECT_ERROR:
																return 'string' == typeof r || 'object' === e(r);
															case le.EVENT:
															case le.BINARY_EVENT:
																return Array.isArray(r) && r.length > 0;
															case le.ACK:
															case le.BINARY_ACK:
																return Array.isArray(r);
														}
													},
												},
											]
										),
										o
									);
								})(),
								_e = (function () {
									function e(r) {
										t(this, e), (this.packet = r), (this.buffers = []), (this.reconPack = r);
									}
									return (
										n(e, [
											{
												key: 'takeBinaryData',
												value: function (e) {
													if ((this.buffers.push(e), this.buffers.length === this.reconPack.attachments)) {
														var t = (function (e, t) {
															return (e.data = be(e.data, t)), (e.attachments = void 0), e;
														})(this.reconPack, this.buffers);
														return this.finishedReconstruction(), t;
													}
													return null;
												},
											},
											{
												key: 'finishedReconstruction',
												value: function () {
													(this.reconPack = null), (this.buffers = []);
												},
											},
										]),
										e
									);
								})(),
								ke = Object.freeze({
									__proto__: null,
									protocol: 5,
									get PacketType() {
										return le;
									},
									Encoder: ge,
									Decoder: we,
								});
							function Ee(e, t, r) {
								return (
									e.on(t, r),
									function () {
										e.off(t, r);
									}
								);
							}
							var Se = Object.freeze({ connect: 1, connect_error: 1, disconnect: 1, disconnecting: 1, newListener: 1, removeListener: 1 }),
								Re = (function (e) {
									a(i, x);
									var r = h(i);
									function i(e, n, o) {
										var a;
										return t(this, i), ((a = r.call(this)).connected = !1), (a.receiveBuffer = []), (a.sendBuffer = []), (a.ids = 0), (a.acks = {}), (a.flags = {}), (a.io = e), (a.nsp = n), o && o.auth && (a.auth = o.auth), a.io._autoConnect && a.open(), a;
									}
									return (
										n(i, [
											{
												key: 'disconnected',
												get: function () {
													return !this.connected;
												},
											},
											{
												key: 'subEvents',
												value: function () {
													if (!this.subs) {
														var e = this.io;
														this.subs = [Ee(e, 'open', this.onopen.bind(this)), Ee(e, 'packet', this.onpacket.bind(this)), Ee(e, 'error', this.onerror.bind(this)), Ee(e, 'close', this.onclose.bind(this))];
													}
												},
											},
											{
												key: 'active',
												get: function () {
													return !!this.subs;
												},
											},
											{
												key: 'connect',
												value: function () {
													return this.connected || (this.subEvents(), this.io._reconnecting || this.io.open(), 'open' === this.io._readyState && this.onopen()), this;
												},
											},
											{
												key: 'open',
												value: function () {
													return this.connect();
												},
											},
											{
												key: 'send',
												value: function () {
													for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++) t[r] = arguments[r];
													return t.unshift('message'), this.emit.apply(this, t), this;
												},
											},
											{
												key: 'emit',
												value: function (e) {
													if (Se.hasOwnProperty(e)) throw new Error('"' + e + '" is a reserved event name');
													for (var t = arguments.length, r = new Array(t > 1 ? t - 1 : 0), n = 1; n < t; n++) r[n - 1] = arguments[n];
													r.unshift(e);
													var i = { type: le.EVENT, data: r, options: {} };
													if (((i.options.compress = !1 !== this.flags.compress), 'function' == typeof r[r.length - 1])) {
														var o = this.ids++,
															a = r.pop();
														this._registerAckCallback(o, a), (i.id = o);
													}
													var s = this.io.engine && this.io.engine.transport && this.io.engine.transport.writable;
													return (this.flags.volatile && (!s || !this.connected)) || (this.connected ? (this.notifyOutgoingListeners(i), this.packet(i)) : this.sendBuffer.push(i)), (this.flags = {}), this;
												},
											},
											{
												key: '_registerAckCallback',
												value: function (e, t) {
													var r = this,
														n = this.flags.timeout;
													if (void 0 !== n) {
														var i = this.io.setTimeoutFn(function () {
															delete r.acks[e];
															for (var n = 0; n < r.sendBuffer.length; n++) r.sendBuffer[n].id === e && r.sendBuffer.splice(n, 1);
															t.call(r, new Error('operation has timed out'));
														}, n);
														this.acks[e] = function () {
															r.io.clearTimeoutFn(i);
															for (var e = arguments.length, n = new Array(e), o = 0; o < e; o++) n[o] = arguments[o];
															t.apply(r, [null].concat(n));
														};
													} else this.acks[e] = t;
												},
											},
											{
												key: 'packet',
												value: function (e) {
													(e.nsp = this.nsp), this.io._packet(e);
												},
											},
											{
												key: 'onopen',
												value: function () {
													var e = this;
													'function' == typeof this.auth
														? this.auth(function (t) {
																e.packet({ type: le.CONNECT, data: t });
														  })
														: this.packet({ type: le.CONNECT, data: this.auth });
												},
											},
											{
												key: 'onerror',
												value: function (e) {
													this.connected || this.emitReserved('connect_error', e);
												},
											},
											{
												key: 'onclose',
												value: function (e, t) {
													(this.connected = !1), delete this.id, this.emitReserved('disconnect', e, t);
												},
											},
											{
												key: 'onpacket',
												value: function (e) {
													if (e.nsp === this.nsp)
														switch (e.type) {
															case le.CONNECT:
																if (e.data && e.data.sid) {
																	var t = e.data.sid;
																	this.onconnect(t);
																} else this.emitReserved('connect_error', new Error('It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)'));
																break;
															case le.EVENT:
															case le.BINARY_EVENT:
																this.onevent(e);
																break;
															case le.ACK:
															case le.BINARY_ACK:
																this.onack(e);
																break;
															case le.DISCONNECT:
																this.ondisconnect();
																break;
															case le.CONNECT_ERROR:
																this.destroy();
																var r = new Error(e.data.message);
																(r.data = e.data.data), this.emitReserved('connect_error', r);
														}
												},
											},
											{
												key: 'onevent',
												value: function (e) {
													var t = e.data || [];
													null != e.id && t.push(this.ack(e.id)), this.connected ? this.emitEvent(t) : this.receiveBuffer.push(Object.freeze(t));
												},
											},
											{
												key: 'emitEvent',
												value: function (e) {
													if (this._anyListeners && this._anyListeners.length) {
														var t,
															r = y(this._anyListeners.slice());
														try {
															for (r.s(); !(t = r.n()).done; ) t.value.apply(this, e);
														} catch (e) {
															r.e(e);
														} finally {
															r.f();
														}
													}
													p(s(i.prototype), 'emit', this).apply(this, e);
												},
											},
											{
												key: 'ack',
												value: function (e) {
													var t = this,
														r = !1;
													return function () {
														if (!r) {
															r = !0;
															for (var n = arguments.length, i = new Array(n), o = 0; o < n; o++) i[o] = arguments[o];
															t.packet({ type: le.ACK, id: e, data: i });
														}
													};
												},
											},
											{
												key: 'onack',
												value: function (e) {
													var t = this.acks[e.id];
													'function' == typeof t && (t.apply(this, e.data), delete this.acks[e.id]);
												},
											},
											{
												key: 'onconnect',
												value: function (e) {
													(this.id = e), (this.connected = !0), this.emitBuffered(), this.emitReserved('connect');
												},
											},
											{
												key: 'emitBuffered',
												value: function () {
													var e = this;
													this.receiveBuffer.forEach(function (t) {
														return e.emitEvent(t);
													}),
														(this.receiveBuffer = []),
														this.sendBuffer.forEach(function (t) {
															e.notifyOutgoingListeners(t), e.packet(t);
														}),
														(this.sendBuffer = []);
												},
											},
											{
												key: 'ondisconnect',
												value: function () {
													this.destroy(), this.onclose('io server disconnect');
												},
											},
											{
												key: 'destroy',
												value: function () {
													this.subs &&
														(this.subs.forEach(function (e) {
															return e();
														}),
														(this.subs = void 0)),
														this.io._destroy(this);
												},
											},
											{
												key: 'disconnect',
												value: function () {
													return this.connected && this.packet({ type: le.DISCONNECT }), this.destroy(), this.connected && this.onclose('io client disconnect'), this;
												},
											},
											{
												key: 'close',
												value: function () {
													return this.disconnect();
												},
											},
											{
												key: 'compress',
												value: function (e) {
													return (this.flags.compress = e), this;
												},
											},
											{
												key: 'volatile',
												get: function () {
													return (this.flags.volatile = !0), this;
												},
											},
											{
												key: 'timeout',
												value: function (e) {
													return (this.flags.timeout = e), this;
												},
											},
											{
												key: 'onAny',
												value: function (e) {
													return (this._anyListeners = this._anyListeners || []), this._anyListeners.push(e), this;
												},
											},
											{
												key: 'prependAny',
												value: function (e) {
													return (this._anyListeners = this._anyListeners || []), this._anyListeners.unshift(e), this;
												},
											},
											{
												key: 'offAny',
												value: function (e) {
													if (!this._anyListeners) return this;
													if (e) {
														for (var t = this._anyListeners, r = 0; r < t.length; r++) if (e === t[r]) return t.splice(r, 1), this;
													} else this._anyListeners = [];
													return this;
												},
											},
											{
												key: 'listenersAny',
												value: function () {
													return this._anyListeners || [];
												},
											},
											{
												key: 'onAnyOutgoing',
												value: function (e) {
													return (this._anyOutgoingListeners = this._anyOutgoingListeners || []), this._anyOutgoingListeners.push(e), this;
												},
											},
											{
												key: 'prependAnyOutgoing',
												value: function (e) {
													return (this._anyOutgoingListeners = this._anyOutgoingListeners || []), this._anyOutgoingListeners.unshift(e), this;
												},
											},
											{
												key: 'offAnyOutgoing',
												value: function (e) {
													if (!this._anyOutgoingListeners) return this;
													if (e) {
														for (var t = this._anyOutgoingListeners, r = 0; r < t.length; r++) if (e === t[r]) return t.splice(r, 1), this;
													} else this._anyOutgoingListeners = [];
													return this;
												},
											},
											{
												key: 'listenersAnyOutgoing',
												value: function () {
													return this._anyOutgoingListeners || [];
												},
											},
											{
												key: 'notifyOutgoingListeners',
												value: function (e) {
													if (this._anyOutgoingListeners && this._anyOutgoingListeners.length) {
														var t,
															r = y(this._anyOutgoingListeners.slice());
														try {
															for (r.s(); !(t = r.n()).done; ) t.value.apply(this, e.data);
														} catch (e) {
															r.e(e);
														} finally {
															r.f();
														}
													}
												},
											},
										]),
										i
									);
								})();
							function Ce(e) {
								(e = e || {}), (this.ms = e.min || 100), (this.max = e.max || 1e4), (this.factor = e.factor || 2), (this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0), (this.attempts = 0);
							}
							(Ce.prototype.duration = function () {
								var e = this.ms * Math.pow(this.factor, this.attempts++);
								if (this.jitter) {
									var t = Math.random(),
										r = Math.floor(t * this.jitter * e);
									e = 0 == (1 & Math.floor(10 * t)) ? e - r : e + r;
								}
								return 0 | Math.min(e, this.max);
							}),
								(Ce.prototype.reset = function () {
									this.attempts = 0;
								}),
								(Ce.prototype.setMin = function (e) {
									this.ms = e;
								}),
								(Ce.prototype.setMax = function (e) {
									this.max = e;
								}),
								(Ce.prototype.setJitter = function (e) {
									this.jitter = e;
								});
							var Ae = (function (r) {
									a(o, x);
									var i = h(o);
									function o(r, n) {
										var a, s;
										t(this, o),
											((a = i.call(this)).nsps = {}),
											(a.subs = []),
											r && 'object' === e(r) && ((n = r), (r = void 0)),
											((n = n || {}).path = n.path || '/socket.io'),
											(a.opts = n),
											L(d(a), n),
											a.reconnection(!1 !== n.reconnection),
											a.reconnectionAttempts(n.reconnectionAttempts || 1 / 0),
											a.reconnectionDelay(n.reconnectionDelay || 1e3),
											a.reconnectionDelayMax(n.reconnectionDelayMax || 5e3),
											a.randomizationFactor(null !== (s = n.randomizationFactor) && void 0 !== s ? s : 0.5),
											(a.backoff = new Ce({ min: a.reconnectionDelay(), max: a.reconnectionDelayMax(), jitter: a.randomizationFactor() })),
											a.timeout(null == n.timeout ? 2e4 : n.timeout),
											(a._readyState = 'closed'),
											(a.uri = r);
										var u = n.parser || ke;
										return (a.encoder = new u.Encoder()), (a.decoder = new u.Decoder()), (a._autoConnect = !1 !== n.autoConnect), a._autoConnect && a.open(), a;
									}
									return (
										n(o, [
											{
												key: 'reconnection',
												value: function (e) {
													return arguments.length ? ((this._reconnection = !!e), this) : this._reconnection;
												},
											},
											{
												key: 'reconnectionAttempts',
												value: function (e) {
													return void 0 === e ? this._reconnectionAttempts : ((this._reconnectionAttempts = e), this);
												},
											},
											{
												key: 'reconnectionDelay',
												value: function (e) {
													var t;
													return void 0 === e ? this._reconnectionDelay : ((this._reconnectionDelay = e), null === (t = this.backoff) || void 0 === t || t.setMin(e), this);
												},
											},
											{
												key: 'randomizationFactor',
												value: function (e) {
													var t;
													return void 0 === e ? this._randomizationFactor : ((this._randomizationFactor = e), null === (t = this.backoff) || void 0 === t || t.setJitter(e), this);
												},
											},
											{
												key: 'reconnectionDelayMax',
												value: function (e) {
													var t;
													return void 0 === e ? this._reconnectionDelayMax : ((this._reconnectionDelayMax = e), null === (t = this.backoff) || void 0 === t || t.setMax(e), this);
												},
											},
											{
												key: 'timeout',
												value: function (e) {
													return arguments.length ? ((this._timeout = e), this) : this._timeout;
												},
											},
											{
												key: 'maybeReconnectOnOpen',
												value: function () {
													!this._reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect();
												},
											},
											{
												key: 'open',
												value: function (e) {
													var t = this;
													if (~this._readyState.indexOf('open')) return this;
													this.engine = new ce(this.uri, this.opts);
													var r = this.engine,
														n = this;
													(this._readyState = 'opening'), (this.skipReconnect = !1);
													var i = Ee(r, 'open', function () {
															n.onopen(), e && e();
														}),
														o = Ee(r, 'error', function (r) {
															n.cleanup(), (n._readyState = 'closed'), t.emitReserved('error', r), e ? e(r) : n.maybeReconnectOnOpen();
														});
													if (!1 !== this._timeout) {
														var a = this._timeout;
														0 === a && i();
														var s = this.setTimeoutFn(function () {
															i(), r.close(), r.emit('error', new Error('timeout'));
														}, a);
														this.opts.autoUnref && s.unref(),
															this.subs.push(function () {
																clearTimeout(s);
															});
													}
													return this.subs.push(i), this.subs.push(o), this;
												},
											},
											{
												key: 'connect',
												value: function (e) {
													return this.open(e);
												},
											},
											{
												key: 'onopen',
												value: function () {
													this.cleanup(), (this._readyState = 'open'), this.emitReserved('open');
													var e = this.engine;
													this.subs.push(Ee(e, 'ping', this.onping.bind(this)), Ee(e, 'data', this.ondata.bind(this)), Ee(e, 'error', this.onerror.bind(this)), Ee(e, 'close', this.onclose.bind(this)), Ee(this.decoder, 'decoded', this.ondecoded.bind(this)));
												},
											},
											{
												key: 'onping',
												value: function () {
													this.emitReserved('ping');
												},
											},
											{
												key: 'ondata',
												value: function (e) {
													this.decoder.add(e);
												},
											},
											{
												key: 'ondecoded',
												value: function (e) {
													this.emitReserved('packet', e);
												},
											},
											{
												key: 'onerror',
												value: function (e) {
													this.emitReserved('error', e);
												},
											},
											{
												key: 'socket',
												value: function (e, t) {
													var r = this.nsps[e];
													return r || ((r = new Re(this, e, t)), (this.nsps[e] = r)), r;
												},
											},
											{
												key: '_destroy',
												value: function (e) {
													for (var t = 0, r = Object.keys(this.nsps); t < r.length; t++) {
														var n = r[t];
														if (this.nsps[n].active) return;
													}
													this._close();
												},
											},
											{
												key: '_packet',
												value: function (e) {
													for (var t = this.encoder.encode(e), r = 0; r < t.length; r++) this.engine.write(t[r], e.options);
												},
											},
											{
												key: 'cleanup',
												value: function () {
													this.subs.forEach(function (e) {
														return e();
													}),
														(this.subs.length = 0),
														this.decoder.destroy();
												},
											},
											{
												key: '_close',
												value: function () {
													(this.skipReconnect = !0), (this._reconnecting = !1), this.onclose('forced close'), this.engine && this.engine.close();
												},
											},
											{
												key: 'disconnect',
												value: function () {
													return this._close();
												},
											},
											{
												key: 'onclose',
												value: function (e, t) {
													this.cleanup(), this.backoff.reset(), (this._readyState = 'closed'), this.emitReserved('close', e, t), this._reconnection && !this.skipReconnect && this.reconnect();
												},
											},
											{
												key: 'reconnect',
												value: function () {
													var e = this;
													if (this._reconnecting || this.skipReconnect) return this;
													var t = this;
													if (this.backoff.attempts >= this._reconnectionAttempts) this.backoff.reset(), this.emitReserved('reconnect_failed'), (this._reconnecting = !1);
													else {
														var r = this.backoff.duration();
														this._reconnecting = !0;
														var n = this.setTimeoutFn(function () {
															t.skipReconnect ||
																(e.emitReserved('reconnect_attempt', t.backoff.attempts),
																t.skipReconnect ||
																	t.open(function (r) {
																		r ? ((t._reconnecting = !1), t.reconnect(), e.emitReserved('reconnect_error', r)) : t.onreconnect();
																	}));
														}, r);
														this.opts.autoUnref && n.unref(),
															this.subs.push(function () {
																clearTimeout(n);
															});
													}
												},
											},
											{
												key: 'onreconnect',
												value: function () {
													var e = this.backoff.attempts;
													(this._reconnecting = !1), this.backoff.reset(), this.emitReserved('reconnect', e);
												},
											},
										]),
										o
									);
								})(),
								Oe = {};
							function Pe(t, r) {
								'object' === e(t) && ((r = t), (t = void 0));
								var n,
									i = (function (e) {
										var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '',
											r = arguments.length > 2 ? arguments[2] : void 0,
											n = e;
										(r = r || ('undefined' != typeof location && location)),
											null == e && (e = r.protocol + '//' + r.host),
											'string' == typeof e && ('/' === e.charAt(0) && (e = '/' === e.charAt(1) ? r.protocol + e : r.host + e), /^(https?|wss?):\/\//.test(e) || (e = void 0 !== r ? r.protocol + '//' + e : 'https://' + e), (n = ue(e))),
											n.port || (/^(http|ws)$/.test(n.protocol) ? (n.port = '80') : /^(http|ws)s$/.test(n.protocol) && (n.port = '443')),
											(n.path = n.path || '/');
										var i = -1 !== n.host.indexOf(':') ? '[' + n.host + ']' : n.host;
										return (n.id = n.protocol + '://' + i + ':' + n.port + t), (n.href = n.protocol + '://' + i + (r && r.port === n.port ? '' : ':' + n.port)), n;
									})(t, (r = r || {}).path || '/socket.io'),
									o = i.source,
									a = i.id,
									s = i.path,
									u = Oe[a] && s in Oe[a].nsps;
								return r.forceNew || r['force new connection'] || !1 === r.multiplex || u ? (n = new Ae(o, r)) : (Oe[a] || (Oe[a] = new Ae(o, r)), (n = Oe[a])), i.query && !r.query && (r.query = i.queryKey), n.socket(i.path, r);
							}
							return i(Pe, { Manager: Ae, Socket: Re, io: Pe, connect: Pe }), Pe;
						}),
						'object' == (void 0 === r ? 'undefined' : (0, o.default)(r)) && void 0 !== t ? (t.exports = i()) : ((n = 'undefined' != typeof globalThis ? globalThis : n || self).io = i());
				},
				{ '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/typeof': 24 },
			],
			28: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = n(e('@babel/runtime/helpers/assertThisInitialized')),
						o = n(e('@babel/runtime/helpers/inherits')),
						a = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						s = n(e('@babel/runtime/helpers/getPrototypeOf')),
						u = n(e('@babel/runtime/helpers/createClass')),
						c = n(e('@babel/runtime/helpers/classCallCheck')),
						l = n(e('@babel/runtime/helpers/typeof'));
					function f(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, s.default)(e);
							if (t) {
								var i = (0, s.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, a.default)(this, r);
						};
					}
					!(function (e, n) {
						if ('object' == (void 0 === r ? 'undefined' : (0, l.default)(r)) && 'object' == (void 0 === t ? 'undefined' : (0, l.default)(t))) t.exports = n();
						else {
							var i = n();
							for (var o in i) ('object' == (void 0 === r ? 'undefined' : (0, l.default)(r)) ? r : e)[o] = i[o];
						}
					})(window, function () {
						return (function (e) {
							var t = {};
							function r(n) {
								if (t[n]) return t[n].exports;
								var i = (t[n] = { i: n, l: !1, exports: {} });
								return e[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
							}
							return (
								(r.m = e),
								(r.c = t),
								(r.d = function (e, t, n) {
									r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });
								}),
								(r.r = function (e) {
									'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), Object.defineProperty(e, '__esModule', { value: !0 });
								}),
								(r.t = function (e, t) {
									if ((1 & t && (e = r(e)), 8 & t)) return e;
									if (4 & t && 'object' == (0, l.default)(e) && e && e.__esModule) return e;
									var n = Object.create(null);
									if ((r.r(n), Object.defineProperty(n, 'default', { enumerable: !0, value: e }), 2 & t && 'string' != typeof e))
										for (var i in e)
											r.d(
												n,
												i,
												function (t) {
													return e[t];
												}.bind(null, i)
											);
									return n;
								}),
								(r.n = function (e) {
									var t =
										e && e.__esModule
											? function () {
													return e.default;
											  }
											: function () {
													return e;
											  };
									return r.d(t, 'a', t), t;
								}),
								(r.o = function (e, t) {
									return Object.prototype.hasOwnProperty.call(e, t);
								}),
								(r.p = ''),
								r((r.s = 24))
							);
						})([
							function (e, t) {
								e.exports = function () {
									return function () {};
								};
							},
							function (e, t) {
								var r;
								r = (function () {
									return this;
								})();
								try {
									r = r || Function('return this')() || (0, eval)('this');
								} catch (e) {
									'object' == ('undefined' == typeof window ? 'undefined' : (0, l.default)(window)) && (r = window);
								}
								e.exports = r;
							},
							function (e, t) {
								var r = {}.toString;
								e.exports =
									Array.isArray ||
									function (e) {
										return '[object Array]' == r.call(e);
									};
							},
							function (e, t, r) {
								function n(e) {
									if (e)
										return (function (e) {
											for (var t in n.prototype) e[t] = n.prototype[t];
											return e;
										})(e);
								}
								(e.exports = n),
									(n.prototype.on = n.prototype.addEventListener =
										function (e, t) {
											return (this._callbacks = this._callbacks || {}), (this._callbacks['$' + e] = this._callbacks['$' + e] || []).push(t), this;
										}),
									(n.prototype.once = function (e, t) {
										function r() {
											this.off(e, r), t.apply(this, arguments);
										}
										return (r.fn = t), this.on(e, r), this;
									}),
									(n.prototype.off =
										n.prototype.removeListener =
										n.prototype.removeAllListeners =
										n.prototype.removeEventListener =
											function (e, t) {
												if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
												var r,
													n = this._callbacks['$' + e];
												if (!n) return this;
												if (1 == arguments.length) return delete this._callbacks['$' + e], this;
												for (var i = 0; i < n.length; i++)
													if ((r = n[i]) === t || r.fn === t) {
														n.splice(i, 1);
														break;
													}
												return this;
											}),
									(n.prototype.emit = function (e) {
										this._callbacks = this._callbacks || {};
										var t = [].slice.call(arguments, 1),
											r = this._callbacks['$' + e];
										if (r) for (var n = 0, i = (r = r.slice(0)).length; n < i; ++n) r[n].apply(this, t);
										return this;
									}),
									(n.prototype.listeners = function (e) {
										return (this._callbacks = this._callbacks || {}), this._callbacks['$' + e] || [];
									}),
									(n.prototype.hasListeners = function (e) {
										return !!this.listeners(e).length;
									});
							},
							function (e, t, r) {
								var n = r(0)('socket.io-parser'),
									i = r(3),
									o = r(20),
									a = r(2),
									s = r(9);
								function u() {}
								(t.protocol = 4), (t.types = ['CONNECT', 'DISCONNECT', 'EVENT', 'ACK', 'ERROR', 'BINARY_EVENT', 'BINARY_ACK']), (t.CONNECT = 0), (t.DISCONNECT = 1), (t.EVENT = 2), (t.ACK = 3), (t.ERROR = 4), (t.BINARY_EVENT = 5), (t.BINARY_ACK = 6), (t.Encoder = u), (t.Decoder = f);
								var c = t.ERROR + '"encode error"';
								function l(e) {
									var r = '' + e.type;
									if (((t.BINARY_EVENT !== e.type && t.BINARY_ACK !== e.type) || (r += e.attachments + '-'), e.nsp && '/' !== e.nsp && (r += e.nsp + ','), null != e.id && (r += e.id), null != e.data)) {
										var i = (function (e) {
											try {
												return JSON.stringify(e);
											} catch (e) {
												return !1;
											}
										})(e.data);
										if (!1 === i) return c;
										r += i;
									}
									return n('encoded %j as %s', e, r), r;
								}
								function f() {
									this.reconstructor = null;
								}
								function d(e) {
									(this.reconPack = e), (this.buffers = []);
								}
								function h(e) {
									return { type: t.ERROR, data: 'parser error: ' + e };
								}
								(u.prototype.encode = function (e, r) {
									n('encoding packet %j', e),
										t.BINARY_EVENT === e.type || t.BINARY_ACK === e.type
											? (function (e, t) {
													o.removeBlobs(e, function (e) {
														var r = o.deconstructPacket(e),
															n = l(r.packet),
															i = r.buffers;
														i.unshift(n), t(i);
													});
											  })(e, r)
											: r([l(e)]);
								}),
									i(f.prototype),
									(f.prototype.add = function (e) {
										var r;
										if ('string' == typeof e)
											(r = (function (e) {
												var r = 0,
													i = { type: Number(e.charAt(0)) };
												if (null == t.types[i.type]) return h('unknown packet type ' + i.type);
												if (t.BINARY_EVENT === i.type || t.BINARY_ACK === i.type) {
													for (var o = ''; '-' !== e.charAt(++r) && ((o += e.charAt(r)), r != e.length); );
													if (o != Number(o) || '-' !== e.charAt(r)) throw new Error('Illegal attachments');
													i.attachments = Number(o);
												}
												if ('/' === e.charAt(r + 1))
													for (i.nsp = ''; ++r; ) {
														if (',' === (u = e.charAt(r))) break;
														if (((i.nsp += u), r === e.length)) break;
													}
												else i.nsp = '/';
												var s = e.charAt(r + 1);
												if ('' !== s && Number(s) == s) {
													for (i.id = ''; ++r; ) {
														var u;
														if (null == (u = e.charAt(r)) || Number(u) != u) {
															--r;
															break;
														}
														if (((i.id += e.charAt(r)), r === e.length)) break;
													}
													i.id = Number(i.id);
												}
												if (e.charAt(++r)) {
													var c = (function (e) {
														try {
															return JSON.parse(e);
														} catch (e) {
															return !1;
														}
													})(e.substr(r));
													if (!(!1 !== c && (i.type === t.ERROR || a(c)))) return h('invalid payload');
													i.data = c;
												}
												return n('decoded %s as %j', e, i), i;
											})(e)),
												t.BINARY_EVENT === r.type || t.BINARY_ACK === r.type ? ((this.reconstructor = new d(r)), 0 === this.reconstructor.reconPack.attachments && this.emit('decoded', r)) : this.emit('decoded', r);
										else {
											if (!s(e) && !e.base64) throw new Error('Unknown type: ' + e);
											if (!this.reconstructor) throw new Error('got binary data when not reconstructing a packet');
											(r = this.reconstructor.takeBinaryData(e)) && ((this.reconstructor = null), this.emit('decoded', r));
										}
									}),
									(f.prototype.destroy = function () {
										this.reconstructor && this.reconstructor.finishedReconstruction();
									}),
									(d.prototype.takeBinaryData = function (e) {
										if ((this.buffers.push(e), this.buffers.length === this.reconPack.attachments)) {
											var t = o.reconstructPacket(this.reconPack, this.buffers);
											return this.finishedReconstruction(), t;
										}
										return null;
									}),
									(d.prototype.finishedReconstruction = function () {
										(this.reconPack = null), (this.buffers = []);
									});
							},
							function (e, t) {
								var r = [].slice;
								e.exports = function (e, t) {
									if (('string' == typeof t && (t = e[t]), 'function' != typeof t)) throw new Error('bind() requires a function');
									var n = r.call(arguments, 2);
									return function () {
										return t.apply(e, n.concat(r.call(arguments)));
									};
								};
							},
							function (e, t) {
								e.exports = function (e, t, r) {
									return (
										e.on(t, r),
										{
											destroy: function () {
												e.removeListener(t, r);
											},
										}
									);
								};
							},
							function (e, t, r) {
								var n = r(4),
									i = r(3),
									o = r(18),
									a = r(6),
									s = r(5),
									u = r(0)('socket.io-client:socket'),
									c = r(17),
									f = r(16);
								e.exports = p;
								var d = { connect: 1, connect_error: 1, connect_timeout: 1, connecting: 1, disconnect: 1, error: 1, reconnect: 1, reconnect_attempt: 1, reconnect_failed: 1, reconnect_error: 1, reconnecting: 1, ping: 1, pong: 1 },
									h = i.prototype.emit;
								function p(e, t, r) {
									(this.io = e), (this.nsp = t), (this.json = this), (this.ids = 0), (this.acks = {}), (this.receiveBuffer = []), (this.sendBuffer = []), (this.connected = !1), (this.disconnected = !0), (this.flags = {}), r && r.query && (this.query = r.query), this.io.autoConnect && this.open();
								}
								i(p.prototype),
									(p.prototype.subEvents = function () {
										if (!this.subs) {
											var e = this.io;
											this.subs = [a(e, 'open', s(this, 'onopen')), a(e, 'packet', s(this, 'onpacket')), a(e, 'close', s(this, 'onclose'))];
										}
									}),
									(p.prototype.open = p.prototype.connect =
										function () {
											return this.connected ? this : (this.subEvents(), this.io.open(), 'open' === this.io.readyState && this.onopen(), this.emit('connecting'), this);
										}),
									(p.prototype.send = function () {
										var e = o(arguments);
										return e.unshift('message'), this.emit.apply(this, e), this;
									}),
									(p.prototype.emit = function (e) {
										if (d.hasOwnProperty(e)) return h.apply(this, arguments), this;
										var t = o(arguments),
											r = { type: (void 0 !== this.flags.binary ? this.flags.binary : f(t)) ? n.BINARY_EVENT : n.EVENT, data: t, options: {} };
										return (r.options.compress = !this.flags || !1 !== this.flags.compress), 'function' == typeof t[t.length - 1] && (u('emitting packet with ack id %d', this.ids), (this.acks[this.ids] = t.pop()), (r.id = this.ids++)), this.connected ? this.packet(r) : this.sendBuffer.push(r), (this.flags = {}), this;
									}),
									(p.prototype.packet = function (e) {
										(e.nsp = this.nsp), this.io.packet(e);
									}),
									(p.prototype.onopen = function () {
										if ((u('transport is open - connecting'), '/' !== this.nsp))
											if (this.query) {
												var e = 'object' == (0, l.default)(this.query) ? c.encode(this.query) : this.query;
												u('sending connect packet with query %s', e), this.packet({ type: n.CONNECT, query: e });
											} else this.packet({ type: n.CONNECT });
									}),
									(p.prototype.onclose = function (e) {
										u('close (%s)', e), (this.connected = !1), (this.disconnected = !0), delete this.id, this.emit('disconnect', e);
									}),
									(p.prototype.onpacket = function (e) {
										var t = e.nsp === this.nsp,
											r = e.type === n.ERROR && '/' === e.nsp;
										if (t || r)
											switch (e.type) {
												case n.CONNECT:
													this.onconnect();
													break;
												case n.EVENT:
												case n.BINARY_EVENT:
													this.onevent(e);
													break;
												case n.ACK:
												case n.BINARY_ACK:
													this.onack(e);
													break;
												case n.DISCONNECT:
													this.ondisconnect();
													break;
												case n.ERROR:
													this.emit('error', e.data);
											}
									}),
									(p.prototype.onevent = function (e) {
										var t = e.data || [];
										u('emitting event %j', t), null != e.id && (u('attaching ack callback to event'), t.push(this.ack(e.id))), this.connected ? h.apply(this, t) : this.receiveBuffer.push(t);
									}),
									(p.prototype.ack = function (e) {
										var t = this,
											r = !1;
										return function () {
											if (!r) {
												r = !0;
												var i = o(arguments);
												u('sending ack %j', i), t.packet({ type: f(i) ? n.BINARY_ACK : n.ACK, id: e, data: i });
											}
										};
									}),
									(p.prototype.onack = function (e) {
										var t = this.acks[e.id];
										'function' == typeof t ? (u('calling ack %s with %j', e.id, e.data), t.apply(this, e.data), delete this.acks[e.id]) : u('bad ack %s', e.id);
									}),
									(p.prototype.onconnect = function () {
										(this.connected = !0), (this.disconnected = !1), this.emit('connect'), this.emitBuffered();
									}),
									(p.prototype.emitBuffered = function () {
										var e;
										for (e = 0; e < this.receiveBuffer.length; e++) h.apply(this, this.receiveBuffer[e]);
										for (this.receiveBuffer = [], e = 0; e < this.sendBuffer.length; e++) this.packet(this.sendBuffer[e]);
										this.sendBuffer = [];
									}),
									(p.prototype.ondisconnect = function () {
										u('server disconnect (%s)', this.nsp), this.destroy(), this.onclose('io server disconnect');
									}),
									(p.prototype.destroy = function () {
										if (this.subs) {
											for (var e = 0; e < this.subs.length; e++) this.subs[e].destroy();
											this.subs = null;
										}
										this.io.destroy(this);
									}),
									(p.prototype.close = p.prototype.disconnect =
										function () {
											return this.connected && (u('performing disconnect (%s)', this.nsp), this.packet({ type: n.DISCONNECT })), this.destroy(), this.connected && this.onclose('io client disconnect'), this;
										}),
									(p.prototype.compress = function (e) {
										return (this.flags.compress = e), this;
									}),
									(p.prototype.binary = function (e) {
										return (this.flags.binary = e), this;
									});
							},
							function (e, t, r) {
								var n = r(19),
									i = r(7),
									o = r(3),
									a = r(4),
									s = r(6),
									u = r(5),
									c = r(0)('socket.io-client:manager'),
									f = r(11),
									d = r(10),
									h = Object.prototype.hasOwnProperty;
								function p(e, t) {
									if (!(this instanceof p)) return new p(e, t);
									e && 'object' == (0, l.default)(e) && ((t = e), (e = void 0)),
										((t = t || {}).path = t.path || '/socket.io'),
										(this.nsps = {}),
										(this.subs = []),
										(this.opts = t),
										this.reconnection(!1 !== t.reconnection),
										this.reconnectionAttempts(t.reconnectionAttempts || 1 / 0),
										this.reconnectionDelay(t.reconnectionDelay || 1e3),
										this.reconnectionDelayMax(t.reconnectionDelayMax || 5e3),
										this.randomizationFactor(t.randomizationFactor || 0.5),
										(this.backoff = new d({ min: this.reconnectionDelay(), max: this.reconnectionDelayMax(), jitter: this.randomizationFactor() })),
										this.timeout(null == t.timeout ? 2e4 : t.timeout),
										(this.readyState = 'closed'),
										(this.uri = e),
										(this.connecting = []),
										(this.lastPing = null),
										(this.encoding = !1),
										(this.packetBuffer = []);
									var r = t.parser || a;
									(this.encoder = new r.Encoder()), (this.decoder = new r.Decoder()), (this.autoConnect = !1 !== t.autoConnect), this.autoConnect && this.open();
								}
								(e.exports = p),
									(p.prototype.emitAll = function () {
										for (var e in (this.emit.apply(this, arguments), this.nsps)) h.call(this.nsps, e) && this.nsps[e].emit.apply(this.nsps[e], arguments);
									}),
									(p.prototype.updateSocketIds = function () {
										for (var e in this.nsps) h.call(this.nsps, e) && (this.nsps[e].id = this.generateId(e));
									}),
									(p.prototype.generateId = function (e) {
										return ('/' === e ? '' : e + '#') + this.engine.id;
									}),
									o(p.prototype),
									(p.prototype.reconnection = function (e) {
										return arguments.length ? ((this._reconnection = !!e), this) : this._reconnection;
									}),
									(p.prototype.reconnectionAttempts = function (e) {
										return arguments.length ? ((this._reconnectionAttempts = e), this) : this._reconnectionAttempts;
									}),
									(p.prototype.reconnectionDelay = function (e) {
										return arguments.length ? ((this._reconnectionDelay = e), this.backoff && this.backoff.setMin(e), this) : this._reconnectionDelay;
									}),
									(p.prototype.randomizationFactor = function (e) {
										return arguments.length ? ((this._randomizationFactor = e), this.backoff && this.backoff.setJitter(e), this) : this._randomizationFactor;
									}),
									(p.prototype.reconnectionDelayMax = function (e) {
										return arguments.length ? ((this._reconnectionDelayMax = e), this.backoff && this.backoff.setMax(e), this) : this._reconnectionDelayMax;
									}),
									(p.prototype.timeout = function (e) {
										return arguments.length ? ((this._timeout = e), this) : this._timeout;
									}),
									(p.prototype.maybeReconnectOnOpen = function () {
										!this.reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect();
									}),
									(p.prototype.open = p.prototype.connect =
										function (e, t) {
											if ((c('readyState %s', this.readyState), ~this.readyState.indexOf('open'))) return this;
											c('opening %s', this.uri), (this.engine = n(this.uri, this.opts));
											var r = this.engine,
												i = this;
											(this.readyState = 'opening'), (this.skipReconnect = !1);
											var o = s(r, 'open', function () {
													i.onopen(), e && e();
												}),
												a = s(r, 'error', function (t) {
													if ((c('connect_error'), i.cleanup(), (i.readyState = 'closed'), i.emitAll('connect_error', t), e)) {
														var r = new Error('Connection error');
														(r.data = t), e(r);
													} else i.maybeReconnectOnOpen();
												});
											if (!1 !== this._timeout) {
												var u = this._timeout;
												c('connect attempt will timeout after %d', u);
												var l = setTimeout(function () {
													c('connect attempt timed out after %d', u), o.destroy(), r.close(), r.emit('error', 'timeout'), i.emitAll('connect_timeout', u);
												}, u);
												this.subs.push({
													destroy: function () {
														clearTimeout(l);
													},
												});
											}
											return this.subs.push(o), this.subs.push(a), this;
										}),
									(p.prototype.onopen = function () {
										c('open'), this.cleanup(), (this.readyState = 'open'), this.emit('open');
										var e = this.engine;
										this.subs.push(s(e, 'data', u(this, 'ondata'))), this.subs.push(s(e, 'ping', u(this, 'onping'))), this.subs.push(s(e, 'pong', u(this, 'onpong'))), this.subs.push(s(e, 'error', u(this, 'onerror'))), this.subs.push(s(e, 'close', u(this, 'onclose'))), this.subs.push(s(this.decoder, 'decoded', u(this, 'ondecoded')));
									}),
									(p.prototype.onping = function () {
										(this.lastPing = new Date()), this.emitAll('ping');
									}),
									(p.prototype.onpong = function () {
										this.emitAll('pong', new Date() - this.lastPing);
									}),
									(p.prototype.ondata = function (e) {
										this.decoder.add(e);
									}),
									(p.prototype.ondecoded = function (e) {
										this.emit('packet', e);
									}),
									(p.prototype.onerror = function (e) {
										c('error', e), this.emitAll('error', e);
									}),
									(p.prototype.socket = function (e, t) {
										var r = this.nsps[e];
										if (!r) {
											(r = new i(this, e, t)), (this.nsps[e] = r);
											var n = this;
											r.on('connecting', o),
												r.on('connect', function () {
													r.id = n.generateId(e);
												}),
												this.autoConnect && o();
										}
										function o() {
											~f(n.connecting, r) || n.connecting.push(r);
										}
										return r;
									}),
									(p.prototype.destroy = function (e) {
										var t = f(this.connecting, e);
										~t && this.connecting.splice(t, 1), this.connecting.length || this.close();
									}),
									(p.prototype.packet = function (e) {
										c('writing packet %j', e);
										var t = this;
										e.query && 0 === e.type && (e.nsp += '?' + e.query),
											t.encoding
												? t.packetBuffer.push(e)
												: ((t.encoding = !0),
												  this.encoder.encode(e, function (r) {
														for (var n = 0; n < r.length; n++) t.engine.write(r[n], e.options);
														(t.encoding = !1), t.processPacketQueue();
												  }));
									}),
									(p.prototype.processPacketQueue = function () {
										if (this.packetBuffer.length > 0 && !this.encoding) {
											var e = this.packetBuffer.shift();
											this.packet(e);
										}
									}),
									(p.prototype.cleanup = function () {
										c('cleanup');
										for (var e = this.subs.length, t = 0; t < e; t++) this.subs.shift().destroy();
										(this.packetBuffer = []), (this.encoding = !1), (this.lastPing = null), this.decoder.destroy();
									}),
									(p.prototype.close = p.prototype.disconnect =
										function () {
											c('disconnect'), (this.skipReconnect = !0), (this.reconnecting = !1), 'opening' === this.readyState && this.cleanup(), this.backoff.reset(), (this.readyState = 'closed'), this.engine && this.engine.close();
										}),
									(p.prototype.onclose = function (e) {
										c('onclose'), this.cleanup(), this.backoff.reset(), (this.readyState = 'closed'), this.emit('close', e), this._reconnection && !this.skipReconnect && this.reconnect();
									}),
									(p.prototype.reconnect = function () {
										if (this.reconnecting || this.skipReconnect) return this;
										var e = this;
										if (this.backoff.attempts >= this._reconnectionAttempts) c('reconnect failed'), this.backoff.reset(), this.emitAll('reconnect_failed'), (this.reconnecting = !1);
										else {
											var t = this.backoff.duration();
											c('will wait %dms before reconnect attempt', t), (this.reconnecting = !0);
											var r = setTimeout(function () {
												e.skipReconnect ||
													(c('attempting reconnect'),
													e.emitAll('reconnect_attempt', e.backoff.attempts),
													e.emitAll('reconnecting', e.backoff.attempts),
													e.skipReconnect ||
														e.open(function (t) {
															t ? (c('reconnect attempt error'), (e.reconnecting = !1), e.reconnect(), e.emitAll('reconnect_error', t.data)) : (c('reconnect success'), e.onreconnect());
														}));
											}, t);
											this.subs.push({
												destroy: function () {
													clearTimeout(r);
												},
											});
										}
									}),
									(p.prototype.onreconnect = function () {
										var e = this.backoff.attempts;
										(this.reconnecting = !1), this.backoff.reset(), this.updateSocketIds(), this.emitAll('reconnect', e);
									});
							},
							function (e, t, r) {
								(function (t) {
									e.exports = function (e) {
										return (r && t.Buffer.isBuffer(e)) || (n && (e instanceof t.ArrayBuffer || i(e)));
									};
									var r = 'function' == typeof t.Buffer && 'function' == typeof t.Buffer.isBuffer,
										n = 'function' == typeof t.ArrayBuffer,
										i =
											n && 'function' == typeof t.ArrayBuffer.isView
												? t.ArrayBuffer.isView
												: function (e) {
														return e.buffer instanceof t.ArrayBuffer;
												  };
								}).call(this, r(1));
							},
							function (e, t) {
								function r(e) {
									(e = e || {}), (this.ms = e.min || 100), (this.max = e.max || 1e4), (this.factor = e.factor || 2), (this.jitter = e.jitter > 0 && e.jitter <= 1 ? e.jitter : 0), (this.attempts = 0);
								}
								(e.exports = r),
									(r.prototype.duration = function () {
										var e = this.ms * Math.pow(this.factor, this.attempts++);
										if (this.jitter) {
											var t = Math.random(),
												r = Math.floor(t * this.jitter * e);
											e = 0 == (1 & Math.floor(10 * t)) ? e - r : e + r;
										}
										return 0 | Math.min(e, this.max);
									}),
									(r.prototype.reset = function () {
										this.attempts = 0;
									}),
									(r.prototype.setMin = function (e) {
										this.ms = e;
									}),
									(r.prototype.setMax = function (e) {
										this.max = e;
									}),
									(r.prototype.setJitter = function (e) {
										this.jitter = e;
									});
							},
							function (e, t) {
								var r = [].indexOf;
								e.exports = function (e, t) {
									if (r) return e.indexOf(t);
									for (var n = 0; n < e.length; ++n) if (e[n] === t) return n;
									return -1;
								};
							},
							function (e, t) {
								var r = {}.toString;
								e.exports =
									Array.isArray ||
									function (e) {
										return '[object Array]' == r.call(e);
									};
							},
							function (e, t) {
								(t.read = function (e, t, r, n, i) {
									var o,
										a,
										s = 8 * i - n - 1,
										u = (1 << s) - 1,
										c = u >> 1,
										l = -7,
										f = r ? i - 1 : 0,
										d = r ? -1 : 1,
										h = e[t + f];
									for (f += d, o = h & ((1 << -l) - 1), h >>= -l, l += s; l > 0; o = 256 * o + e[t + f], f += d, l -= 8);
									for (a = o & ((1 << -l) - 1), o >>= -l, l += n; l > 0; a = 256 * a + e[t + f], f += d, l -= 8);
									if (0 === o) o = 1 - c;
									else {
										if (o === u) return a ? NaN : (1 / 0) * (h ? -1 : 1);
										(a += Math.pow(2, n)), (o -= c);
									}
									return (h ? -1 : 1) * a * Math.pow(2, o - n);
								}),
									(t.write = function (e, t, r, n, i, o) {
										var a,
											s,
											u,
											c = 8 * o - i - 1,
											l = (1 << c) - 1,
											f = l >> 1,
											d = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
											h = n ? 0 : o - 1,
											p = n ? 1 : -1,
											v = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0;
										for (
											t = Math.abs(t),
												isNaN(t) || t === 1 / 0
													? ((s = isNaN(t) ? 1 : 0), (a = l))
													: ((a = Math.floor(Math.log(t) / Math.LN2)), t * (u = Math.pow(2, -a)) < 1 && (a--, (u *= 2)), (t += a + f >= 1 ? d / u : d * Math.pow(2, 1 - f)) * u >= 2 && (a++, (u /= 2)), a + f >= l ? ((s = 0), (a = l)) : a + f >= 1 ? ((s = (t * u - 1) * Math.pow(2, i)), (a += f)) : ((s = t * Math.pow(2, f - 1) * Math.pow(2, i)), (a = 0)));
											i >= 8;
											e[r + h] = 255 & s, h += p, s /= 256, i -= 8
										);
										for (a = (a << i) | s, c += i; c > 0; e[r + h] = 255 & a, h += p, a /= 256, c -= 8);
										e[r + h - p] |= 128 * v;
									});
							},
							function (e, t, r) {
								(t.byteLength = function (e) {
									var t = c(e),
										r = t[0],
										n = t[1];
									return (3 * (r + n)) / 4 - n;
								}),
									(t.toByteArray = function (e) {
										for (var t, r = c(e), n = r[0], a = r[1], s = new o((3 * (n + a)) / 4 - a), u = 0, l = a > 0 ? n - 4 : n, f = 0; f < l; f += 4) (t = (i[e.charCodeAt(f)] << 18) | (i[e.charCodeAt(f + 1)] << 12) | (i[e.charCodeAt(f + 2)] << 6) | i[e.charCodeAt(f + 3)]), (s[u++] = (t >> 16) & 255), (s[u++] = (t >> 8) & 255), (s[u++] = 255 & t);
										return 2 === a && ((t = (i[e.charCodeAt(f)] << 2) | (i[e.charCodeAt(f + 1)] >> 4)), (s[u++] = 255 & t)), 1 === a && ((t = (i[e.charCodeAt(f)] << 10) | (i[e.charCodeAt(f + 1)] << 4) | (i[e.charCodeAt(f + 2)] >> 2)), (s[u++] = (t >> 8) & 255), (s[u++] = 255 & t)), s;
									}),
									(t.fromByteArray = function (e) {
										for (var t, r = e.length, i = r % 3, o = [], a = 0, s = r - i; a < s; a += 16383) o.push(l(e, a, a + 16383 > s ? s : a + 16383));
										return 1 === i ? ((t = e[r - 1]), o.push(n[t >> 2] + n[(t << 4) & 63] + '==')) : 2 === i && ((t = (e[r - 2] << 8) + e[r - 1]), o.push(n[t >> 10] + n[(t >> 4) & 63] + n[(t << 2) & 63] + '=')), o.join('');
									});
								for (var n = [], i = [], o = 'undefined' != typeof Uint8Array ? Uint8Array : Array, a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', s = 0, u = a.length; s < u; ++s) (n[s] = a[s]), (i[a.charCodeAt(s)] = s);
								function c(e) {
									var t = e.length;
									if (t % 4 > 0) throw new Error('Invalid string. Length must be a multiple of 4');
									var r = e.indexOf('=');
									return -1 === r && (r = t), [r, r === t ? 0 : 4 - (r % 4)];
								}
								function l(e, t, r) {
									for (var i, o, a = [], s = t; s < r; s += 3) (i = ((e[s] << 16) & 16711680) + ((e[s + 1] << 8) & 65280) + (255 & e[s + 2])), a.push(n[((o = i) >> 18) & 63] + n[(o >> 12) & 63] + n[(o >> 6) & 63] + n[63 & o]);
									return a.join('');
								}
								(i['-'.charCodeAt(0)] = 62), (i['_'.charCodeAt(0)] = 63);
							},
							function (e, t, r) {
								(function (e) {
									var n = r(14),
										i = r(13),
										o = r(12);
									function a() {
										return u.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
									}
									function s(e, t) {
										if (a() < t) throw new RangeError('Invalid typed array length');
										return u.TYPED_ARRAY_SUPPORT ? ((e = new Uint8Array(t)).__proto__ = u.prototype) : (null === e && (e = new u(t)), (e.length = t)), e;
									}
									function u(e, t, r) {
										if (!(u.TYPED_ARRAY_SUPPORT || this instanceof u)) return new u(e, t, r);
										if ('number' == typeof e) {
											if ('string' == typeof t) throw new Error('If encoding is specified then the first argument must be a string');
											return f(this, e);
										}
										return c(this, e, t, r);
									}
									function c(e, t, r, n) {
										if ('number' == typeof t) throw new TypeError('"value" argument must not be a number');
										return 'undefined' != typeof ArrayBuffer && t instanceof ArrayBuffer
											? (function (e, t, r, n) {
													if ((t.byteLength, r < 0 || t.byteLength < r)) throw new RangeError("'offset' is out of bounds");
													if (t.byteLength < r + (n || 0)) throw new RangeError("'length' is out of bounds");
													return (t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n)), u.TYPED_ARRAY_SUPPORT ? ((e = t).__proto__ = u.prototype) : (e = d(e, t)), e;
											  })(e, t, r, n)
											: 'string' == typeof t
											? (function (e, t, r) {
													if ((('string' == typeof r && '' !== r) || (r = 'utf8'), !u.isEncoding(r))) throw new TypeError('"encoding" must be a valid string encoding');
													var n = 0 | p(t, r),
														i = (e = s(e, n)).write(t, r);
													return i !== n && (e = e.slice(0, i)), e;
											  })(e, t, r)
											: (function (e, t) {
													if (u.isBuffer(t)) {
														var r = 0 | h(t.length);
														return 0 === (e = s(e, r)).length ? e : (t.copy(e, 0, 0, r), e);
													}
													if (t) {
														if (('undefined' != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer) || 'length' in t) return 'number' != typeof t.length || (n = t.length) != n ? s(e, 0) : d(e, t);
														if ('Buffer' === t.type && o(t.data)) return d(e, t.data);
													}
													var n;
													throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');
											  })(e, t);
									}
									function l(e) {
										if ('number' != typeof e) throw new TypeError('"size" argument must be a number');
										if (e < 0) throw new RangeError('"size" argument must not be negative');
									}
									function f(e, t) {
										if ((l(t), (e = s(e, t < 0 ? 0 : 0 | h(t))), !u.TYPED_ARRAY_SUPPORT)) for (var r = 0; r < t; ++r) e[r] = 0;
										return e;
									}
									function d(e, t) {
										var r = t.length < 0 ? 0 : 0 | h(t.length);
										e = s(e, r);
										for (var n = 0; n < r; n += 1) e[n] = 255 & t[n];
										return e;
									}
									function h(e) {
										if (e >= a()) throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x' + a().toString(16) + ' bytes');
										return 0 | e;
									}
									function p(e, t) {
										if (u.isBuffer(e)) return e.length;
										if ('undefined' != typeof ArrayBuffer && 'function' == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;
										'string' != typeof e && (e = '' + e);
										var r = e.length;
										if (0 === r) return 0;
										for (var n = !1; ; )
											switch (t) {
												case 'ascii':
												case 'latin1':
												case 'binary':
													return r;
												case 'utf8':
												case 'utf-8':
												case void 0:
													return q(e).length;
												case 'ucs2':
												case 'ucs-2':
												case 'utf16le':
												case 'utf-16le':
													return 2 * r;
												case 'hex':
													return r >>> 1;
												case 'base64':
													return W(e).length;
												default:
													if (n) return q(e).length;
													(t = ('' + t).toLowerCase()), (n = !0);
											}
									}
									function v(e, t, r) {
										var n = e[t];
										(e[t] = e[r]), (e[r] = n);
									}
									function y(e, t, r, n, i) {
										if (0 === e.length) return -1;
										if (('string' == typeof r ? ((n = r), (r = 0)) : r > 2147483647 ? (r = 2147483647) : r < -2147483648 && (r = -2147483648), (r = +r), isNaN(r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length)) {
											if (i) return -1;
											r = e.length - 1;
										} else if (r < 0) {
											if (!i) return -1;
											r = 0;
										}
										if (('string' == typeof t && (t = u.from(t, n)), u.isBuffer(t))) return 0 === t.length ? -1 : m(e, t, r, n, i);
										if ('number' == typeof t) return (t &= 255), u.TYPED_ARRAY_SUPPORT && 'function' == typeof Uint8Array.prototype.indexOf ? (i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r)) : m(e, [t], r, n, i);
										throw new TypeError('val must be string, number or Buffer');
									}
									function m(e, t, r, n, i) {
										var o,
											a = 1,
											s = e.length,
											u = t.length;
										if (void 0 !== n && ('ucs2' === (n = String(n).toLowerCase()) || 'ucs-2' === n || 'utf16le' === n || 'utf-16le' === n)) {
											if (e.length < 2 || t.length < 2) return -1;
											(a = 2), (s /= 2), (u /= 2), (r /= 2);
										}
										function c(e, t) {
											return 1 === a ? e[t] : e.readUInt16BE(t * a);
										}
										if (i) {
											var l = -1;
											for (o = r; o < s; o++)
												if (c(e, o) === c(t, -1 === l ? 0 : o - l)) {
													if ((-1 === l && (l = o), o - l + 1 === u)) return l * a;
												} else -1 !== l && (o -= o - l), (l = -1);
										} else
											for (r + u > s && (r = s - u), o = r; o >= 0; o--) {
												for (var f = !0, d = 0; d < u; d++)
													if (c(e, o + d) !== c(t, d)) {
														f = !1;
														break;
													}
												if (f) return o;
											}
										return -1;
									}
									function b(e, t, r, n) {
										r = Number(r) || 0;
										var i = e.length - r;
										n ? (n = Number(n)) > i && (n = i) : (n = i);
										var o = t.length;
										if (o % 2 != 0) throw new TypeError('Invalid hex string');
										n > o / 2 && (n = o / 2);
										for (var a = 0; a < n; ++a) {
											var s = parseInt(t.substr(2 * a, 2), 16);
											if (isNaN(s)) return a;
											e[r + a] = s;
										}
										return a;
									}
									function g(e, t, r, n) {
										return F(q(t, e.length - r), e, r, n);
									}
									function w(e, t, r, n) {
										return F(
											(function (e) {
												for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));
												return t;
											})(t),
											e,
											r,
											n
										);
									}
									function _(e, t, r, n) {
										return w(e, t, r, n);
									}
									function k(e, t, r, n) {
										return F(W(t), e, r, n);
									}
									function E(e, t, r, n) {
										return F(
											(function (e, t) {
												for (var r, n, i, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) (n = (r = e.charCodeAt(a)) >> 8), (i = r % 256), o.push(i), o.push(n);
												return o;
											})(t, e.length - r),
											e,
											r,
											n
										);
									}
									function S(e, t, r) {
										return 0 === t && r === e.length ? n.fromByteArray(e) : n.fromByteArray(e.slice(t, r));
									}
									function R(e, t, r) {
										r = Math.min(e.length, r);
										for (var n = [], i = t; i < r; ) {
											var o,
												a,
												s,
												u,
												c = e[i],
												l = null,
												f = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1;
											if (i + f <= r)
												switch (f) {
													case 1:
														c < 128 && (l = c);
														break;
													case 2:
														128 == (192 & (o = e[i + 1])) && (u = ((31 & c) << 6) | (63 & o)) > 127 && (l = u);
														break;
													case 3:
														(o = e[i + 1]), (a = e[i + 2]), 128 == (192 & o) && 128 == (192 & a) && (u = ((15 & c) << 12) | ((63 & o) << 6) | (63 & a)) > 2047 && (u < 55296 || u > 57343) && (l = u);
														break;
													case 4:
														(o = e[i + 1]), (a = e[i + 2]), (s = e[i + 3]), 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && (u = ((15 & c) << 18) | ((63 & o) << 12) | ((63 & a) << 6) | (63 & s)) > 65535 && u < 1114112 && (l = u);
												}
											null === l ? ((l = 65533), (f = 1)) : l > 65535 && ((l -= 65536), n.push(((l >>> 10) & 1023) | 55296), (l = 56320 | (1023 & l))), n.push(l), (i += f);
										}
										return (function (e) {
											var t = e.length;
											if (t <= C) return String.fromCharCode.apply(String, e);
											for (var r = '', n = 0; n < t; ) r += String.fromCharCode.apply(String, e.slice(n, (n += C)));
											return r;
										})(n);
									}
									(t.Buffer = u),
										(t.SlowBuffer = function (e) {
											return +e != e && (e = 0), u.alloc(+e);
										}),
										(t.INSPECT_MAX_BYTES = 50),
										(u.TYPED_ARRAY_SUPPORT =
											void 0 !== e.TYPED_ARRAY_SUPPORT
												? e.TYPED_ARRAY_SUPPORT
												: (function () {
														try {
															var e = new Uint8Array(1);
															return (
																(e.__proto__ = {
																	__proto__: Uint8Array.prototype,
																	foo: function () {
																		return 42;
																	},
																}),
																42 === e.foo() && 'function' == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
															);
														} catch (e) {
															return !1;
														}
												  })()),
										(t.kMaxLength = a()),
										(u.poolSize = 8192),
										(u._augment = function (e) {
											return (e.__proto__ = u.prototype), e;
										}),
										(u.from = function (e, t, r) {
											return c(null, e, t, r);
										}),
										u.TYPED_ARRAY_SUPPORT && ((u.prototype.__proto__ = Uint8Array.prototype), (u.__proto__ = Uint8Array), 'undefined' != typeof Symbol && Symbol.species && u[Symbol.species] === u && Object.defineProperty(u, Symbol.species, { value: null, configurable: !0 })),
										(u.alloc = function (e, t, r) {
											return (function (e, t, r, n) {
												return l(t), t <= 0 ? s(e, t) : void 0 !== r ? ('string' == typeof n ? s(e, t).fill(r, n) : s(e, t).fill(r)) : s(e, t);
											})(null, e, t, r);
										}),
										(u.allocUnsafe = function (e) {
											return f(null, e);
										}),
										(u.allocUnsafeSlow = function (e) {
											return f(null, e);
										}),
										(u.isBuffer = function (e) {
											return !(null == e || !e._isBuffer);
										}),
										(u.compare = function (e, t) {
											if (!u.isBuffer(e) || !u.isBuffer(t)) throw new TypeError('Arguments must be Buffers');
											if (e === t) return 0;
											for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i)
												if (e[i] !== t[i]) {
													(r = e[i]), (n = t[i]);
													break;
												}
											return r < n ? -1 : n < r ? 1 : 0;
										}),
										(u.isEncoding = function (e) {
											switch (String(e).toLowerCase()) {
												case 'hex':
												case 'utf8':
												case 'utf-8':
												case 'ascii':
												case 'latin1':
												case 'binary':
												case 'base64':
												case 'ucs2':
												case 'ucs-2':
												case 'utf16le':
												case 'utf-16le':
													return !0;
												default:
													return !1;
											}
										}),
										(u.concat = function (e, t) {
											if (!o(e)) throw new TypeError('"list" argument must be an Array of Buffers');
											if (0 === e.length) return u.alloc(0);
											var r;
											if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;
											var n = u.allocUnsafe(t),
												i = 0;
											for (r = 0; r < e.length; ++r) {
												var a = e[r];
												if (!u.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers');
												a.copy(n, i), (i += a.length);
											}
											return n;
										}),
										(u.byteLength = p),
										(u.prototype._isBuffer = !0),
										(u.prototype.swap16 = function () {
											var e = this.length;
											if (e % 2 != 0) throw new RangeError('Buffer size must be a multiple of 16-bits');
											for (var t = 0; t < e; t += 2) v(this, t, t + 1);
											return this;
										}),
										(u.prototype.swap32 = function () {
											var e = this.length;
											if (e % 4 != 0) throw new RangeError('Buffer size must be a multiple of 32-bits');
											for (var t = 0; t < e; t += 4) v(this, t, t + 3), v(this, t + 1, t + 2);
											return this;
										}),
										(u.prototype.swap64 = function () {
											var e = this.length;
											if (e % 8 != 0) throw new RangeError('Buffer size must be a multiple of 64-bits');
											for (var t = 0; t < e; t += 8) v(this, t, t + 7), v(this, t + 1, t + 6), v(this, t + 2, t + 5), v(this, t + 3, t + 4);
											return this;
										}),
										(u.prototype.toString = function () {
											var e = 0 | this.length;
											return 0 === e
												? ''
												: 0 === arguments.length
												? R(this, 0, e)
												: function (e, t, r) {
														var n = !1;
														if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return '';
														if (((void 0 === r || r > this.length) && (r = this.length), r <= 0)) return '';
														if ((r >>>= 0) <= (t >>>= 0)) return '';
														for (e || (e = 'utf8'); ; )
															switch (e) {
																case 'hex':
																	return P(this, t, r);
																case 'utf8':
																case 'utf-8':
																	return R(this, t, r);
																case 'ascii':
																	return A(this, t, r);
																case 'latin1':
																case 'binary':
																	return O(this, t, r);
																case 'base64':
																	return S(this, t, r);
																case 'ucs2':
																case 'ucs-2':
																case 'utf16le':
																case 'utf-16le':
																	return T(this, t, r);
																default:
																	if (n) throw new TypeError('Unknown encoding: ' + e);
																	(e = (e + '').toLowerCase()), (n = !0);
															}
												  }.apply(this, arguments);
										}),
										(u.prototype.equals = function (e) {
											if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
											return this === e || 0 === u.compare(this, e);
										}),
										(u.prototype.inspect = function () {
											var e = '',
												r = t.INSPECT_MAX_BYTES;
											return this.length > 0 && ((e = this.toString('hex', 0, r).match(/.{2}/g).join(' ')), this.length > r && (e += ' ... ')), '<Buffer ' + e + '>';
										}),
										(u.prototype.compare = function (e, t, r, n, i) {
											if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
											if ((void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length)) throw new RangeError('out of range index');
											if (n >= i && t >= r) return 0;
											if (n >= i) return -1;
											if (t >= r) return 1;
											if (((t >>>= 0), (r >>>= 0), (n >>>= 0), (i >>>= 0), this === e)) return 0;
											for (var o = i - n, a = r - t, s = Math.min(o, a), c = this.slice(n, i), l = e.slice(t, r), f = 0; f < s; ++f)
												if (c[f] !== l[f]) {
													(o = c[f]), (a = l[f]);
													break;
												}
											return o < a ? -1 : a < o ? 1 : 0;
										}),
										(u.prototype.includes = function (e, t, r) {
											return -1 !== this.indexOf(e, t, r);
										}),
										(u.prototype.indexOf = function (e, t, r) {
											return y(this, e, t, r, !0);
										}),
										(u.prototype.lastIndexOf = function (e, t, r) {
											return y(this, e, t, r, !1);
										}),
										(u.prototype.write = function (e, t, r, n) {
											if (void 0 === t) (n = 'utf8'), (r = this.length), (t = 0);
											else if (void 0 === r && 'string' == typeof t) (n = t), (r = this.length), (t = 0);
											else {
												if (!isFinite(t)) throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
												(t |= 0), isFinite(r) ? ((r |= 0), void 0 === n && (n = 'utf8')) : ((n = r), (r = void 0));
											}
											var i = this.length - t;
											if (((void 0 === r || r > i) && (r = i), (e.length > 0 && (r < 0 || t < 0)) || t > this.length)) throw new RangeError('Attempt to write outside buffer bounds');
											n || (n = 'utf8');
											for (var o = !1; ; )
												switch (n) {
													case 'hex':
														return b(this, e, t, r);
													case 'utf8':
													case 'utf-8':
														return g(this, e, t, r);
													case 'ascii':
														return w(this, e, t, r);
													case 'latin1':
													case 'binary':
														return _(this, e, t, r);
													case 'base64':
														return k(this, e, t, r);
													case 'ucs2':
													case 'ucs-2':
													case 'utf16le':
													case 'utf-16le':
														return E(this, e, t, r);
													default:
														if (o) throw new TypeError('Unknown encoding: ' + n);
														(n = ('' + n).toLowerCase()), (o = !0);
												}
										}),
										(u.prototype.toJSON = function () {
											return { type: 'Buffer', data: Array.prototype.slice.call(this._arr || this, 0) };
										});
									var C = 4096;
									function A(e, t, r) {
										var n = '';
										r = Math.min(e.length, r);
										for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]);
										return n;
									}
									function O(e, t, r) {
										var n = '';
										r = Math.min(e.length, r);
										for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]);
										return n;
									}
									function P(e, t, r) {
										var n = e.length;
										(!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);
										for (var i = '', o = t; o < r; ++o) i += U(e[o]);
										return i;
									}
									function T(e, t, r) {
										for (var n = e.slice(t, r), i = '', o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]);
										return i;
									}
									function j(e, t, r) {
										if (e % 1 != 0 || e < 0) throw new RangeError('offset is not uint');
										if (e + t > r) throw new RangeError('Trying to access beyond buffer length');
									}
									function x(e, t, r, n, i, o) {
										if (!u.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
										if (t > i || t < o) throw new RangeError('"value" argument is out of bounds');
										if (r + n > e.length) throw new RangeError('Index out of range');
									}
									function I(e, t, r, n) {
										t < 0 && (t = 65535 + t + 1);
										for (var i = 0, o = Math.min(e.length - r, 2); i < o; ++i) e[r + i] = (t & (255 << (8 * (n ? i : 1 - i)))) >>> (8 * (n ? i : 1 - i));
									}
									function M(e, t, r, n) {
										t < 0 && (t = 4294967295 + t + 1);
										for (var i = 0, o = Math.min(e.length - r, 4); i < o; ++i) e[r + i] = (t >>> (8 * (n ? i : 3 - i))) & 255;
									}
									function B(e, t, r, n, i, o) {
										if (r + n > e.length) throw new RangeError('Index out of range');
										if (r < 0) throw new RangeError('Index out of range');
									}
									function D(e, t, r, n, o) {
										return o || B(e, 0, r, 4), i.write(e, t, r, n, 23, 4), r + 4;
									}
									function L(e, t, r, n, o) {
										return o || B(e, 0, r, 8), i.write(e, t, r, n, 52, 8), r + 8;
									}
									(u.prototype.slice = function (e, t) {
										var r,
											n = this.length;
										if (((e = ~~e), (t = void 0 === t ? n : ~~t), e < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n), t < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n), t < e && (t = e), u.TYPED_ARRAY_SUPPORT)) (r = this.subarray(e, t)).__proto__ = u.prototype;
										else {
											var i = t - e;
											r = new u(i, void 0);
											for (var o = 0; o < i; ++o) r[o] = this[o + e];
										}
										return r;
									}),
										(u.prototype.readUIntLE = function (e, t, r) {
											(e |= 0), (t |= 0), r || j(e, t, this.length);
											for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
											return n;
										}),
										(u.prototype.readUIntBE = function (e, t, r) {
											(e |= 0), (t |= 0), r || j(e, t, this.length);
											for (var n = this[e + --t], i = 1; t > 0 && (i *= 256); ) n += this[e + --t] * i;
											return n;
										}),
										(u.prototype.readUInt8 = function (e, t) {
											return t || j(e, 1, this.length), this[e];
										}),
										(u.prototype.readUInt16LE = function (e, t) {
											return t || j(e, 2, this.length), this[e] | (this[e + 1] << 8);
										}),
										(u.prototype.readUInt16BE = function (e, t) {
											return t || j(e, 2, this.length), (this[e] << 8) | this[e + 1];
										}),
										(u.prototype.readUInt32LE = function (e, t) {
											return t || j(e, 4, this.length), (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) + 16777216 * this[e + 3];
										}),
										(u.prototype.readUInt32BE = function (e, t) {
											return t || j(e, 4, this.length), 16777216 * this[e] + ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3]);
										}),
										(u.prototype.readIntLE = function (e, t, r) {
											(e |= 0), (t |= 0), r || j(e, t, this.length);
											for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
											return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n;
										}),
										(u.prototype.readIntBE = function (e, t, r) {
											(e |= 0), (t |= 0), r || j(e, t, this.length);
											for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256); ) o += this[e + --n] * i;
											return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o;
										}),
										(u.prototype.readInt8 = function (e, t) {
											return t || j(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];
										}),
										(u.prototype.readInt16LE = function (e, t) {
											t || j(e, 2, this.length);
											var r = this[e] | (this[e + 1] << 8);
											return 32768 & r ? 4294901760 | r : r;
										}),
										(u.prototype.readInt16BE = function (e, t) {
											t || j(e, 2, this.length);
											var r = this[e + 1] | (this[e] << 8);
											return 32768 & r ? 4294901760 | r : r;
										}),
										(u.prototype.readInt32LE = function (e, t) {
											return t || j(e, 4, this.length), this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24);
										}),
										(u.prototype.readInt32BE = function (e, t) {
											return t || j(e, 4, this.length), (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3];
										}),
										(u.prototype.readFloatLE = function (e, t) {
											return t || j(e, 4, this.length), i.read(this, e, !0, 23, 4);
										}),
										(u.prototype.readFloatBE = function (e, t) {
											return t || j(e, 4, this.length), i.read(this, e, !1, 23, 4);
										}),
										(u.prototype.readDoubleLE = function (e, t) {
											return t || j(e, 8, this.length), i.read(this, e, !0, 52, 8);
										}),
										(u.prototype.readDoubleBE = function (e, t) {
											return t || j(e, 8, this.length), i.read(this, e, !1, 52, 8);
										}),
										(u.prototype.writeUIntLE = function (e, t, r, n) {
											(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
											var i = 1,
												o = 0;
											for (this[t] = 255 & e; ++o < r && (i *= 256); ) this[t + o] = (e / i) & 255;
											return t + r;
										}),
										(u.prototype.writeUIntBE = function (e, t, r, n) {
											(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
											var i = r - 1,
												o = 1;
											for (this[t + i] = 255 & e; --i >= 0 && (o *= 256); ) this[t + i] = (e / o) & 255;
											return t + r;
										}),
										(u.prototype.writeUInt8 = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 1, 255, 0), u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), (this[t] = 255 & e), t + 1;
										}),
										(u.prototype.writeUInt16LE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0), t + 2;
										}),
										(u.prototype.writeUInt16BE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1), t + 2;
										}),
										(u.prototype.writeUInt32LE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 4, 4294967295, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t + 3] = e >>> 24), (this[t + 2] = e >>> 16), (this[t + 1] = e >>> 8), (this[t] = 255 & e)) : M(this, e, t, !0), t + 4;
										}),
										(u.prototype.writeUInt32BE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 4, 4294967295, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e)) : M(this, e, t, !1), t + 4;
										}),
										(u.prototype.writeIntLE = function (e, t, r, n) {
											if (((e = +e), (t |= 0), !n)) {
												var i = Math.pow(2, 8 * r - 1);
												x(this, e, t, r, i - 1, -i);
											}
											var o = 0,
												a = 1,
												s = 0;
											for (this[t] = 255 & e; ++o < r && (a *= 256); ) e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1), (this[t + o] = (((e / a) >> 0) - s) & 255);
											return t + r;
										}),
										(u.prototype.writeIntBE = function (e, t, r, n) {
											if (((e = +e), (t |= 0), !n)) {
												var i = Math.pow(2, 8 * r - 1);
												x(this, e, t, r, i - 1, -i);
											}
											var o = r - 1,
												a = 1,
												s = 0;
											for (this[t + o] = 255 & e; --o >= 0 && (a *= 256); ) e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1), (this[t + o] = (((e / a) >> 0) - s) & 255);
											return t + r;
										}),
										(u.prototype.writeInt8 = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 1, 127, -128), u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), (this[t] = 255 & e), t + 1;
										}),
										(u.prototype.writeInt16LE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 2, 32767, -32768), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0), t + 2;
										}),
										(u.prototype.writeInt16BE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 2, 32767, -32768), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1), t + 2;
										}),
										(u.prototype.writeInt32LE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 4, 2147483647, -2147483648), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8), (this[t + 2] = e >>> 16), (this[t + 3] = e >>> 24)) : M(this, e, t, !0), t + 4;
										}),
										(u.prototype.writeInt32BE = function (e, t, r) {
											return (e = +e), (t |= 0), r || x(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e)) : M(this, e, t, !1), t + 4;
										}),
										(u.prototype.writeFloatLE = function (e, t, r) {
											return D(this, e, t, !0, r);
										}),
										(u.prototype.writeFloatBE = function (e, t, r) {
											return D(this, e, t, !1, r);
										}),
										(u.prototype.writeDoubleLE = function (e, t, r) {
											return L(this, e, t, !0, r);
										}),
										(u.prototype.writeDoubleBE = function (e, t, r) {
											return L(this, e, t, !1, r);
										}),
										(u.prototype.copy = function (e, t, r, n) {
											if ((r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r)) return 0;
											if (0 === e.length || 0 === this.length) return 0;
											if (t < 0) throw new RangeError('targetStart out of bounds');
											if (r < 0 || r >= this.length) throw new RangeError('sourceStart out of bounds');
											if (n < 0) throw new RangeError('sourceEnd out of bounds');
											n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);
											var i,
												o = n - r;
											if (this === e && r < t && t < n) for (i = o - 1; i >= 0; --i) e[i + t] = this[i + r];
											else if (o < 1e3 || !u.TYPED_ARRAY_SUPPORT) for (i = 0; i < o; ++i) e[i + t] = this[i + r];
											else Uint8Array.prototype.set.call(e, this.subarray(r, r + o), t);
											return o;
										}),
										(u.prototype.fill = function (e, t, r, n) {
											if ('string' == typeof e) {
												if (('string' == typeof t ? ((n = t), (t = 0), (r = this.length)) : 'string' == typeof r && ((n = r), (r = this.length)), 1 === e.length)) {
													var i = e.charCodeAt(0);
													i < 256 && (e = i);
												}
												if (void 0 !== n && 'string' != typeof n) throw new TypeError('encoding must be a string');
												if ('string' == typeof n && !u.isEncoding(n)) throw new TypeError('Unknown encoding: ' + n);
											} else 'number' == typeof e && (e &= 255);
											if (t < 0 || this.length < t || this.length < r) throw new RangeError('Out of range index');
											if (r <= t) return this;
											var o;
											if (((t >>>= 0), (r = void 0 === r ? this.length : r >>> 0), e || (e = 0), 'number' == typeof e)) for (o = t; o < r; ++o) this[o] = e;
											else {
												var a = u.isBuffer(e) ? e : q(new u(e, n).toString()),
													s = a.length;
												for (o = 0; o < r - t; ++o) this[o + t] = a[o % s];
											}
											return this;
										});
									var N = /[^+\/0-9A-Za-z-_]/g;
									function U(e) {
										return e < 16 ? '0' + e.toString(16) : e.toString(16);
									}
									function q(e, t) {
										var r;
										t = t || 1 / 0;
										for (var n = e.length, i = null, o = [], a = 0; a < n; ++a) {
											if ((r = e.charCodeAt(a)) > 55295 && r < 57344) {
												if (!i) {
													if (r > 56319) {
														(t -= 3) > -1 && o.push(239, 191, 189);
														continue;
													}
													if (a + 1 === n) {
														(t -= 3) > -1 && o.push(239, 191, 189);
														continue;
													}
													i = r;
													continue;
												}
												if (r < 56320) {
													(t -= 3) > -1 && o.push(239, 191, 189), (i = r);
													continue;
												}
												r = 65536 + (((i - 55296) << 10) | (r - 56320));
											} else i && (t -= 3) > -1 && o.push(239, 191, 189);
											if (((i = null), r < 128)) {
												if ((t -= 1) < 0) break;
												o.push(r);
											} else if (r < 2048) {
												if ((t -= 2) < 0) break;
												o.push((r >> 6) | 192, (63 & r) | 128);
											} else if (r < 65536) {
												if ((t -= 3) < 0) break;
												o.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128);
											} else {
												if (!(r < 1114112)) throw new Error('Invalid code point');
												if ((t -= 4) < 0) break;
												o.push((r >> 18) | 240, ((r >> 12) & 63) | 128, ((r >> 6) & 63) | 128, (63 & r) | 128);
											}
										}
										return o;
									}
									function W(e) {
										return n.toByteArray(
											(function (e) {
												if (
													(e = (function (e) {
														return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, '');
													})(e).replace(N, '')).length < 2
												)
													return '';
												for (; e.length % 4 != 0; ) e += '=';
												return e;
											})(e)
										);
									}
									function F(e, t, r, n) {
										for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i];
										return i;
									}
								}).call(this, r(1));
							},
							function (e, t, r) {
								(function (t) {
									var n = r(2),
										i = Object.prototype.toString,
										o = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === i.call(Blob)),
										a = 'function' == typeof File || ('undefined' != typeof File && '[object FileConstructor]' === i.call(File));
									e.exports = function e(r) {
										if (!r || 'object' != (0, l.default)(r)) return !1;
										if (n(r)) {
											for (var i = 0, s = r.length; i < s; i++) if (e(r[i])) return !0;
											return !1;
										}
										if (('function' == typeof t && t.isBuffer && t.isBuffer(r)) || ('function' == typeof ArrayBuffer && r instanceof ArrayBuffer) || (o && r instanceof Blob) || (a && r instanceof File)) return !0;
										if (r.toJSON && 'function' == typeof r.toJSON && 1 === arguments.length) return e(r.toJSON(), !0);
										for (var u in r) if (Object.prototype.hasOwnProperty.call(r, u) && e(r[u])) return !0;
										return !1;
									};
								}).call(this, r(15).Buffer);
							},
							function (e, t) {
								(t.encode = function (e) {
									var t = '';
									for (var r in e) e.hasOwnProperty(r) && (t.length && (t += '&'), (t += encodeURIComponent(r) + '=' + encodeURIComponent(e[r])));
									return t;
								}),
									(t.decode = function (e) {
										for (var t = {}, r = e.split('&'), n = 0, i = r.length; n < i; n++) {
											var o = r[n].split('=');
											t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);
										}
										return t;
									});
							},
							function (e, t) {
								e.exports = function (e, t) {
									for (var r = [], n = (t = t || 0) || 0; n < e.length; n++) r[n - t] = e[n];
									return r;
								};
							},
							function (e, t, r) {
								window,
									(e.exports = (function (e) {
										var t = {};
										function r(n) {
											if (t[n]) return t[n].exports;
											var i = (t[n] = { i: n, l: !1, exports: {} });
											return e[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports;
										}
										return (
											(r.m = e),
											(r.c = t),
											(r.d = function (e, t, n) {
												r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n });
											}),
											(r.r = function (e) {
												'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), Object.defineProperty(e, '__esModule', { value: !0 });
											}),
											(r.t = function (e, t) {
												if ((1 & t && (e = r(e)), 8 & t)) return e;
												if (4 & t && 'object' == (0, l.default)(e) && e && e.__esModule) return e;
												var n = Object.create(null);
												if ((r.r(n), Object.defineProperty(n, 'default', { enumerable: !0, value: e }), 2 & t && 'string' != typeof e))
													for (var i in e)
														r.d(
															n,
															i,
															function (t) {
																return e[t];
															}.bind(null, i)
														);
												return n;
											}),
											(r.n = function (e) {
												var t =
													e && e.__esModule
														? function () {
																return e.default;
														  }
														: function () {
																return e;
														  };
												return r.d(t, 'a', t), t;
											}),
											(r.o = function (e, t) {
												return Object.prototype.hasOwnProperty.call(e, t);
											}),
											(r.p = ''),
											r((r.s = 29))
										);
									})([
										function (e, t) {
											var r;
											r = (function () {
												return this;
											})();
											try {
												r = r || Function('return this')() || (0, eval)('this');
											} catch (e) {
												'object' == ('undefined' == typeof window ? 'undefined' : (0, l.default)(window)) && (r = window);
											}
											e.exports = r;
										},
										function (e, t, r) {
											(function (e) {
												var n,
													i = r(26),
													o = r(25),
													a = r(19),
													s = r(18),
													u = r(17);
												e && e.ArrayBuffer && (n = r(15));
												var c = 'undefined' != typeof navigator && /Android/i.test(navigator.userAgent),
													l = 'undefined' != typeof navigator && /PhantomJS/i.test(navigator.userAgent),
													f = c || l;
												t.protocol = 3;
												var d = (t.packets = { open: 0, close: 1, ping: 2, pong: 3, message: 4, upgrade: 5, noop: 6 }),
													h = i(d),
													p = { type: 'error', data: 'parser error' },
													v = r(14);
												function y(e, t, r) {
													for (
														var n = new Array(e.length),
															i = s(e.length, r),
															o = function (e, r, i) {
																t(r, function (t, r) {
																	(n[e] = r), i(t, n);
																});
															},
															a = 0;
														a < e.length;
														a++
													)
														o(a, e[a], i);
												}
												(t.encodePacket = function (r, n, i, o) {
													'function' == typeof n && ((o = n), (n = !1)), 'function' == typeof i && ((o = i), (i = null));
													var a = void 0 === r.data ? void 0 : r.data.buffer || r.data;
													if (e.ArrayBuffer && a instanceof ArrayBuffer)
														return (function (e, r, n) {
															if (!r) return t.encodeBase64Packet(e, n);
															var i = e.data,
																o = new Uint8Array(i),
																a = new Uint8Array(1 + i.byteLength);
															a[0] = d[e.type];
															for (var s = 0; s < o.length; s++) a[s + 1] = o[s];
															return n(a.buffer);
														})(r, n, o);
													if (v && a instanceof e.Blob)
														return (function (e, r, n) {
															if (!r) return t.encodeBase64Packet(e, n);
															if (f)
																return (function (e, r, n) {
																	if (!r) return t.encodeBase64Packet(e, n);
																	var i = new FileReader();
																	return (
																		(i.onload = function () {
																			(e.data = i.result), t.encodePacket(e, r, !0, n);
																		}),
																		i.readAsArrayBuffer(e.data)
																	);
																})(e, r, n);
															var i = new Uint8Array(1);
															return (i[0] = d[e.type]), n(new v([i.buffer, e.data]));
														})(r, n, o);
													if (a && a.base64)
														return (function (e, r) {
															return o('b' + t.packets[e.type] + e.data.data);
														})(r);
													var s = d[r.type];
													return void 0 !== r.data && (s += i ? u.encode(String(r.data), { strict: !1 }) : String(r.data)), o('' + s);
												}),
													(t.encodeBase64Packet = function (r, n) {
														var i,
															o = 'b' + t.packets[r.type];
														if (v && r.data instanceof e.Blob) {
															var a = new FileReader();
															return (
																(a.onload = function () {
																	var e = a.result.split(',')[1];
																	n(o + e);
																}),
																a.readAsDataURL(r.data)
															);
														}
														try {
															i = String.fromCharCode.apply(null, new Uint8Array(r.data));
														} catch (e) {
															for (var s = new Uint8Array(r.data), u = new Array(s.length), c = 0; c < s.length; c++) u[c] = s[c];
															i = String.fromCharCode.apply(null, u);
														}
														return (o += e.btoa(i)), n(o);
													}),
													(t.decodePacket = function (e, r, n) {
														if (void 0 === e) return p;
														if ('string' == typeof e) {
															if ('b' === e.charAt(0)) return t.decodeBase64Packet(e.substr(1), r);
															if (
																n &&
																!1 ===
																	(e = (function (e) {
																		try {
																			e = u.decode(e, { strict: !1 });
																		} catch (e) {
																			return !1;
																		}
																		return e;
																	})(e))
															)
																return p;
															var i = e.charAt(0);
															return Number(i) == i && h[i] ? (e.length > 1 ? { type: h[i], data: e.substring(1) } : { type: h[i] }) : p;
														}
														i = new Uint8Array(e)[0];
														var o = a(e, 1);
														return v && 'blob' === r && (o = new v([o])), { type: h[i], data: o };
													}),
													(t.decodeBase64Packet = function (e, t) {
														var r = h[e.charAt(0)];
														if (!n) return { type: r, data: { base64: !0, data: e.substr(1) } };
														var i = n.decode(e.substr(1));
														return 'blob' === t && v && (i = new v([i])), { type: r, data: i };
													}),
													(t.encodePayload = function (e, r, n) {
														'function' == typeof r && ((n = r), (r = null));
														var i = o(e);
														return r && i
															? v && !f
																? t.encodePayloadAsBlob(e, n)
																: t.encodePayloadAsArrayBuffer(e, n)
															: e.length
															? void y(
																	e,
																	function (e, n) {
																		t.encodePacket(e, !!i && r, !1, function (e) {
																			n(
																				null,
																				(function (e) {
																					return e.length + ':' + e;
																				})(e)
																			);
																		});
																	},
																	function (e, t) {
																		return n(t.join(''));
																	}
															  )
															: n('0:');
													}),
													(t.decodePayload = function (e, r, n) {
														if ('string' != typeof e) return t.decodePayloadAsBinary(e, r, n);
														var i;
														if (('function' == typeof r && ((n = r), (r = null)), '' === e)) return n(p, 0, 1);
														for (var o, a, s = '', u = 0, c = e.length; u < c; u++) {
															var l = e.charAt(u);
															if (':' === l) {
																if ('' === s || s != (o = Number(s))) return n(p, 0, 1);
																if (s != (a = e.substr(u + 1, o)).length) return n(p, 0, 1);
																if (a.length) {
																	if (((i = t.decodePacket(a, r, !1)), p.type === i.type && p.data === i.data)) return n(p, 0, 1);
																	if (!1 === n(i, u + o, c)) return;
																}
																(u += o), (s = '');
															} else s += l;
														}
														return '' !== s ? n(p, 0, 1) : void 0;
													}),
													(t.encodePayloadAsArrayBuffer = function (e, r) {
														if (!e.length) return r(new ArrayBuffer(0));
														y(
															e,
															function (e, r) {
																t.encodePacket(e, !0, !0, function (e) {
																	return r(null, e);
																});
															},
															function (e, t) {
																var n = t.reduce(function (e, t) {
																		var r;
																		return e + (r = 'string' == typeof t ? t.length : t.byteLength).toString().length + r + 2;
																	}, 0),
																	i = new Uint8Array(n),
																	o = 0;
																return (
																	t.forEach(function (e) {
																		var t = 'string' == typeof e,
																			r = e;
																		if (t) {
																			for (var n = new Uint8Array(e.length), a = 0; a < e.length; a++) n[a] = e.charCodeAt(a);
																			r = n.buffer;
																		}
																		i[o++] = t ? 0 : 1;
																		var s = r.byteLength.toString();
																		for (a = 0; a < s.length; a++) i[o++] = parseInt(s[a]);
																		for (i[o++] = 255, n = new Uint8Array(r), a = 0; a < n.length; a++) i[o++] = n[a];
																	}),
																	r(i.buffer)
																);
															}
														);
													}),
													(t.encodePayloadAsBlob = function (e, r) {
														y(
															e,
															function (e, r) {
																t.encodePacket(e, !0, !0, function (e) {
																	var t = new Uint8Array(1);
																	if (((t[0] = 1), 'string' == typeof e)) {
																		for (var n = new Uint8Array(e.length), i = 0; i < e.length; i++) n[i] = e.charCodeAt(i);
																		(e = n.buffer), (t[0] = 0);
																	}
																	var o = (e instanceof ArrayBuffer ? e.byteLength : e.size).toString(),
																		a = new Uint8Array(o.length + 1);
																	for (i = 0; i < o.length; i++) a[i] = parseInt(o[i]);
																	if (((a[o.length] = 255), v)) {
																		var s = new v([t.buffer, a.buffer, e]);
																		r(null, s);
																	}
																});
															},
															function (e, t) {
																return r(new v(t));
															}
														);
													}),
													(t.decodePayloadAsBinary = function (e, r, n) {
														'function' == typeof r && ((n = r), (r = null));
														for (var i = e, o = []; i.byteLength > 0; ) {
															for (var s = new Uint8Array(i), u = 0 === s[0], c = '', l = 1; 255 !== s[l]; l++) {
																if (c.length > 310) return n(p, 0, 1);
																c += s[l];
															}
															(i = a(i, 2 + c.length)), (c = parseInt(c));
															var f = a(i, 0, c);
															if (u)
																try {
																	f = String.fromCharCode.apply(null, new Uint8Array(f));
																} catch (e) {
																	var d = new Uint8Array(f);
																	for (f = '', l = 0; l < d.length; l++) f += String.fromCharCode(d[l]);
																}
															o.push(f), (i = a(i, c));
														}
														var h = o.length;
														o.forEach(function (e, i) {
															n(t.decodePacket(e, r, !0), i, h);
														});
													});
											}).call(this, r(0));
										},
										function (e, t) {
											e.exports = function () {
												return function () {};
											};
										},
										function (e, t) {
											(t.encode = function (e) {
												var t = '';
												for (var r in e) e.hasOwnProperty(r) && (t.length && (t += '&'), (t += encodeURIComponent(r) + '=' + encodeURIComponent(e[r])));
												return t;
											}),
												(t.decode = function (e) {
													for (var t = {}, r = e.split('&'), n = 0, i = r.length; n < i; n++) {
														var o = r[n].split('=');
														t[decodeURIComponent(o[0])] = decodeURIComponent(o[1]);
													}
													return t;
												});
										},
										function (e, t, r) {
											function n(e) {
												if (e)
													return (function (e) {
														for (var t in n.prototype) e[t] = n.prototype[t];
														return e;
													})(e);
											}
											(e.exports = n),
												(n.prototype.on = n.prototype.addEventListener =
													function (e, t) {
														return (this._callbacks = this._callbacks || {}), (this._callbacks['$' + e] = this._callbacks['$' + e] || []).push(t), this;
													}),
												(n.prototype.once = function (e, t) {
													function r() {
														this.off(e, r), t.apply(this, arguments);
													}
													return (r.fn = t), this.on(e, r), this;
												}),
												(n.prototype.off =
													n.prototype.removeListener =
													n.prototype.removeAllListeners =
													n.prototype.removeEventListener =
														function (e, t) {
															if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
															var r,
																n = this._callbacks['$' + e];
															if (!n) return this;
															if (1 == arguments.length) return delete this._callbacks['$' + e], this;
															for (var i = 0; i < n.length; i++)
																if ((r = n[i]) === t || r.fn === t) {
																	n.splice(i, 1);
																	break;
																}
															return this;
														}),
												(n.prototype.emit = function (e) {
													this._callbacks = this._callbacks || {};
													var t = [].slice.call(arguments, 1),
														r = this._callbacks['$' + e];
													if (r) for (var n = 0, i = (r = r.slice(0)).length; n < i; ++n) r[n].apply(this, t);
													return this;
												}),
												(n.prototype.listeners = function (e) {
													return (this._callbacks = this._callbacks || {}), this._callbacks['$' + e] || [];
												}),
												(n.prototype.hasListeners = function (e) {
													return !!this.listeners(e).length;
												});
										},
										function (e, t, r) {
											var n = r(1),
												i = r(4);
											function o(e) {
												(this.path = e.path),
													(this.hostname = e.hostname),
													(this.port = e.port),
													(this.secure = e.secure),
													(this.query = e.query),
													(this.timestampParam = e.timestampParam),
													(this.timestampRequests = e.timestampRequests),
													(this.readyState = ''),
													(this.agent = e.agent || !1),
													(this.socket = e.socket),
													(this.enablesXDR = e.enablesXDR),
													(this.pfx = e.pfx),
													(this.key = e.key),
													(this.passphrase = e.passphrase),
													(this.cert = e.cert),
													(this.ca = e.ca),
													(this.ciphers = e.ciphers),
													(this.rejectUnauthorized = e.rejectUnauthorized),
													(this.forceNode = e.forceNode),
													(this.extraHeaders = e.extraHeaders),
													(this.localAddress = e.localAddress);
											}
											(e.exports = o),
												i(o.prototype),
												(o.prototype.onError = function (e, t) {
													var r = new Error(e);
													return (r.type = 'TransportError'), (r.description = t), this.emit('error', r), this;
												}),
												(o.prototype.open = function () {
													return ('closed' !== this.readyState && '' !== this.readyState) || ((this.readyState = 'opening'), this.doOpen()), this;
												}),
												(o.prototype.close = function () {
													return ('opening' !== this.readyState && 'open' !== this.readyState) || (this.doClose(), this.onClose()), this;
												}),
												(o.prototype.send = function (e) {
													if ('open' !== this.readyState) throw new Error('Transport not open');
													this.write(e);
												}),
												(o.prototype.onOpen = function () {
													(this.readyState = 'open'), (this.writable = !0), this.emit('open');
												}),
												(o.prototype.onData = function (e) {
													var t = n.decodePacket(e, this.socket.binaryType);
													this.onPacket(t);
												}),
												(o.prototype.onPacket = function (e) {
													this.emit('packet', e);
												}),
												(o.prototype.onClose = function () {
													(this.readyState = 'closed'), this.emit('close');
												});
										},
										function (e, t, r) {
											var n = r(27);
											t.websocket = n;
										},
										function (e, t) {
											var r = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
												n = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];
											e.exports = function (e) {
												var t = e,
													i = e.indexOf('['),
													o = e.indexOf(']');
												-1 != i && -1 != o && (e = e.substring(0, i) + e.substring(i, o).replace(/:/g, ';') + e.substring(o, e.length));
												for (var a = r.exec(e || ''), s = {}, u = 14; u--; ) s[n[u]] = a[u] || '';
												return -1 != i && -1 != o && ((s.source = t), (s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, ':')), (s.authority = s.authority.replace('[', '').replace(']', '').replace(/;/g, ':')), (s.ipv6uri = !0)), s;
											};
										},
										function (e, t) {
											var r = [].indexOf;
											e.exports = function (e, t) {
												if (r) return e.indexOf(t);
												for (var n = 0; n < e.length; ++n) if (e[n] === t) return n;
												return -1;
											};
										},
										function (e, t, r) {
											var n = (0, u.default)(function e(t, r) {
													(0, c.default)(this, e), (this.target = r), (this.type = t);
												}),
												i = (function (e) {
													(0, o.default)(r, e);
													var t = f(r);
													function r(e, n) {
														var i;
														return (0, c.default)(this, r), ((i = t.call(this, 'message', n)).data = e), i;
													}
													return (0, u.default)(r);
												})(n),
												a = (function (e) {
													(0, o.default)(r, e);
													var t = f(r);
													function r(e, n, i) {
														var o;
														return (0, c.default)(this, r), ((o = t.call(this, 'close', i)).wasClean = i._closeFrameReceived && i._closeFrameSent), (o.reason = n), (o.code = e), o;
													}
													return (0, u.default)(r);
												})(n),
												s = (function (e) {
													(0, o.default)(r, e);
													var t = f(r);
													function r(e) {
														return (0, c.default)(this, r), t.call(this, 'open', e);
													}
													return (0, u.default)(r);
												})(n),
												l = (function (e) {
													(0, o.default)(r, e);
													var t = f(r);
													function r(e, n) {
														var i;
														return (0, c.default)(this, r), ((i = t.call(this, 'error', n)).message = e.message), (i.error = e), i;
													}
													return (0, u.default)(r);
												})(n),
												d = {
													addEventListener: function (e, t) {
														function r(e) {
															t.call(this, new i(e, this));
														}
														function n(e, r) {
															t.call(this, new a(e, r, this));
														}
														function o(e) {
															t.call(this, new l(e, this));
														}
														function u() {
															t.call(this, new s(this));
														}
														'function' == typeof t && ('message' === e ? ((r._listener = t), this.on(e, r)) : 'close' === e ? ((n._listener = t), this.on(e, n)) : 'error' === e ? ((o._listener = t), this.on(e, o)) : 'open' === e ? ((u._listener = t), this.on(e, u)) : this.on(e, t));
													},
													removeEventListener: function (e, t) {
														for (var r = this.listeners(e), n = 0; n < r.length; n++) (r[n] !== t && r[n]._listener !== t) || this.removeListener(e, r[n]);
													},
												};
											e.exports = d;
										},
										function (e, t) {
											function r() {
												(this._events = this._events || {}), (this._maxListeners = this._maxListeners || void 0);
											}
											function n(e) {
												return 'function' == typeof e;
											}
											function i(e) {
												return 'object' == (0, l.default)(e) && null !== e;
											}
											function o(e) {
												return void 0 === e;
											}
											(e.exports = r),
												(r.EventEmitter = r),
												(r.prototype._events = void 0),
												(r.prototype._maxListeners = void 0),
												(r.defaultMaxListeners = 10),
												(r.prototype.setMaxListeners = function (e) {
													if ('number' != typeof e || e < 0 || isNaN(e)) throw TypeError('n must be a positive number');
													return (this._maxListeners = e), this;
												}),
												(r.prototype.emit = function (e) {
													var t, r, a, s, u, c;
													if ((this._events || (this._events = {}), 'error' === e && (!this._events.error || (i(this._events.error) && !this._events.error.length)))) {
														if ((t = arguments[1]) instanceof Error) throw t;
														var l = new Error('Uncaught, unspecified "error" event. (' + t + ')');
														throw ((l.context = t), l);
													}
													if (o((r = this._events[e]))) return !1;
													if (n(r))
														switch (arguments.length) {
															case 1:
																r.call(this);
																break;
															case 2:
																r.call(this, arguments[1]);
																break;
															case 3:
																r.call(this, arguments[1], arguments[2]);
																break;
															default:
																(s = Array.prototype.slice.call(arguments, 1)), r.apply(this, s);
														}
													else if (i(r)) for (s = Array.prototype.slice.call(arguments, 1), a = (c = r.slice()).length, u = 0; u < a; u++) c[u].apply(this, s);
													return !0;
												}),
												(r.prototype.addListener = function (e, t) {
													var a;
													if (!n(t)) throw TypeError('listener must be a function');
													return (
														this._events || (this._events = {}),
														this._events.newListener && this.emit('newListener', e, n(t.listener) ? t.listener : t),
														this._events[e] ? (i(this._events[e]) ? this._events[e].push(t) : (this._events[e] = [this._events[e], t])) : (this._events[e] = t),
														i(this._events[e]) &&
															!this._events[e].warned &&
															(a = o(this._maxListeners) ? r.defaultMaxListeners : this._maxListeners) &&
															a > 0 &&
															this._events[e].length > a &&
															((this._events[e].warned = !0), console.error('(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.', this._events[e].length), 'function' == typeof console.trace && console.trace()),
														this
													);
												}),
												(r.prototype.on = r.prototype.addListener),
												(r.prototype.once = function (e, t) {
													if (!n(t)) throw TypeError('listener must be a function');
													var r = !1;
													function i() {
														this.removeListener(e, i), r || ((r = !0), t.apply(this, arguments));
													}
													return (i.listener = t), this.on(e, i), this;
												}),
												(r.prototype.removeListener = function (e, t) {
													var r, o, a, s;
													if (!n(t)) throw TypeError('listener must be a function');
													if (!this._events || !this._events[e]) return this;
													if (((a = (r = this._events[e]).length), (o = -1), r === t || (n(r.listener) && r.listener === t))) delete this._events[e], this._events.removeListener && this.emit('removeListener', e, t);
													else if (i(r)) {
														for (s = a; s-- > 0; )
															if (r[s] === t || (r[s].listener && r[s].listener === t)) {
																o = s;
																break;
															}
														if (o < 0) return this;
														1 === r.length ? ((r.length = 0), delete this._events[e]) : r.splice(o, 1), this._events.removeListener && this.emit('removeListener', e, t);
													}
													return this;
												}),
												(r.prototype.removeAllListeners = function (e) {
													var t, r;
													if (!this._events) return this;
													if (!this._events.removeListener) return 0 === arguments.length ? (this._events = {}) : this._events[e] && delete this._events[e], this;
													if (0 === arguments.length) {
														for (t in this._events) 'removeListener' !== t && this.removeAllListeners(t);
														return this.removeAllListeners('removeListener'), (this._events = {}), this;
													}
													if (n((r = this._events[e]))) this.removeListener(e, r);
													else if (r) for (; r.length; ) this.removeListener(e, r[r.length - 1]);
													return delete this._events[e], this;
												}),
												(r.prototype.listeners = function (e) {
													return this._events && this._events[e] ? (n(this._events[e]) ? [this._events[e]] : this._events[e].slice()) : [];
												}),
												(r.prototype.listenerCount = function (e) {
													if (this._events) {
														var t = this._events[e];
														if (n(t)) return 1;
														if (t) return t.length;
													}
													return 0;
												}),
												(r.listenerCount = function (e, t) {
													return e.listenerCount(t);
												});
										},
										function (e, t, r) {
											var n = r(10),
												a = r(9),
												s = r(2)('weapp-socket:'),
												d = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'],
												h = (function (e) {
													(0, o.default)(r, e);
													var t = f(r);
													function r(e, n, o) {
														var a;
														return (
															(0, c.default)(this, r),
															((a = t.call(this)).readyState = r.CONNECTING),
															(a.protocol = ''),
															(a._socket = null),
															null !== e &&
																(Array.isArray(n) ? (n = n.join(', ')) : 'object' == (0, l.default)(n) && null !== n && ((o = n), (n = void 0)),
																function (e, t, r) {
																	Object.assign(r, { url: e, header: { 'content-type': 'application/json' }, protocols: t, method: 'GET' }),
																		(this._socket = (function (e) {
																			var t = wx.connectSocket(e);
																			return s('socketTask: ', t), t || { onClose: wx.onSocketClose, onOpen: wx.onSocketOpen, onError: wx.onSocketError, onMessage: wx.onSocketMessage, send: wx.sendSocketMessage, close: wx.closeSocket };
																		})(r)),
																		this.addSocketEventListeners();
																}.call((0, i.default)(a), e, n, o)),
															a
														);
													}
													return (
														(0, u.default)(r, [
															{
																key: 'CONNECTING',
																get: function () {
																	return r.CONNECTING;
																},
															},
															{
																key: 'CLOSING',
																get: function () {
																	return r.CLOSING;
																},
															},
															{
																key: 'CLOSED',
																get: function () {
																	return r.CLOSED;
																},
															},
															{
																key: 'OPEN',
																get: function () {
																	return r.OPEN;
																},
															},
															{
																key: 'addSocketEventListeners',
																value: function () {
																	var e = this;
																	this._socket.onOpen(function () {
																		(e.readyState = r.OPEN), e.onopen();
																	}),
																		this._socket.onClose(function (t) {
																			s('onclose: ', t), (e.readyState = r.CLOSED), e.onclose(t.code, t.reason);
																		}),
																		this._socket.onError(function (t) {
																			s('onerror: ', t), e.onerror(t);
																		}),
																		this._socket.onMessage(function (t) {
																			e.onmessage(t);
																		});
																},
															},
															{
																key: 'send',
																value: function (e) {
																	s('send data: ', e, this.readyState), this.readyState === r.OPEN && this._socket.send({ data: e });
																},
															},
															{
																key: 'close',
																value: function (e, t) {
																	s('close socket: ', e, t), (this.readyState = r.CLOSING), this._socket.close({ code: e, reason: t });
																},
															},
														]),
														r
													);
												})(n);
											d.forEach(function (e, t) {
												h[d[t]] = t;
											}),
												['open', 'error', 'close', 'message'].forEach(function (e) {
													Object.defineProperty(h.prototype, 'on'.concat(e), {
														get: function () {
															for (var t = this.listeners(e), r = 0; r < t.length; r++) if (t[r]._listener) return t[r]._listener;
														},
														set: function (t) {
															for (var r = this.listeners(e), n = 0; n < r.length; n++) r[n]._listener && this.removeListener(e, r[n]);
															this.addEventListener(e, t);
														},
													});
												}),
												(h.prototype.addEventListener = a.addEventListener),
												(h.prototype.removeEventListener = a.removeEventListener),
												(e.exports = h);
										},
										function (e, t, r) {
											var n,
												i = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_'.split(''),
												o = 64,
												a = {},
												s = 0,
												u = 0;
											function c(e) {
												var t = '';
												do {
													(t = i[e % o] + t), (e = Math.floor(e / o));
												} while (e > 0);
												return t;
											}
											function l() {
												var e = c(+new Date());
												return e !== n ? ((s = 0), (n = e)) : e + '.' + c(s++);
											}
											for (; u < o; u++) a[i[u]] = u;
											(l.encode = c),
												(l.decode = function (e) {
													var t = 0;
													for (u = 0; u < e.length; u++) t = t * o + a[e.charAt(u)];
													return t;
												}),
												(e.exports = l);
										},
										function (e, t) {
											e.exports = function (e, t) {
												var r = function () {};
												(r.prototype = t.prototype), (e.prototype = new r()), (e.prototype.constructor = e);
											};
										},
										function (e, t, r) {
											(function (t) {
												var r = t.BlobBuilder || t.WebKitBlobBuilder || t.MSBlobBuilder || t.MozBlobBuilder,
													n = (function () {
														try {
															return 2 === new Blob(['hi']).size;
														} catch (e) {
															return !1;
														}
													})(),
													i =
														n &&
														(function () {
															try {
																return 2 === new Blob([new Uint8Array([1, 2])]).size;
															} catch (e) {
																return !1;
															}
														})(),
													o = r && r.prototype.append && r.prototype.getBlob;
												function a(e) {
													for (var t = 0; t < e.length; t++) {
														var r = e[t];
														if (r.buffer instanceof ArrayBuffer) {
															var n = r.buffer;
															if (r.byteLength !== n.byteLength) {
																var i = new Uint8Array(r.byteLength);
																i.set(new Uint8Array(n, r.byteOffset, r.byteLength)), (n = i.buffer);
															}
															e[t] = n;
														}
													}
												}
												e.exports = n
													? i
														? t.Blob
														: function (e, t) {
																return a(e), new Blob(e, t || {});
														  }
													: o
													? function (e, t) {
															t = t || {};
															var n = new r();
															a(e);
															for (var i = 0; i < e.length; i++) n.append(e[i]);
															return t.type ? n.getBlob(t.type) : n.getBlob();
													  }
													: void 0;
											}).call(this, r(0));
										},
										function (e, t) {
											!(function () {
												for (var e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', r = new Uint8Array(256), n = 0; n < e.length; n++) r[e.charCodeAt(n)] = n;
												(t.encode = function (t) {
													var r,
														n = new Uint8Array(t),
														i = n.length,
														o = '';
													for (r = 0; r < i; r += 3) (o += e[n[r] >> 2]), (o += e[((3 & n[r]) << 4) | (n[r + 1] >> 4)]), (o += e[((15 & n[r + 1]) << 2) | (n[r + 2] >> 6)]), (o += e[63 & n[r + 2]]);
													return i % 3 == 2 ? (o = o.substring(0, o.length - 1) + '=') : i % 3 == 1 && (o = o.substring(0, o.length - 2) + '=='), o;
												}),
													(t.decode = function (e) {
														var t,
															n,
															i,
															o,
															a,
															s = 0.75 * e.length,
															u = e.length,
															c = 0;
														'=' === e[e.length - 1] && (s--, '=' === e[e.length - 2] && s--);
														var l = new ArrayBuffer(s),
															f = new Uint8Array(l);
														for (t = 0; t < u; t += 4) (n = r[e.charCodeAt(t)]), (i = r[e.charCodeAt(t + 1)]), (o = r[e.charCodeAt(t + 2)]), (a = r[e.charCodeAt(t + 3)]), (f[c++] = (n << 2) | (i >> 4)), (f[c++] = ((15 & i) << 4) | (o >> 2)), (f[c++] = ((3 & o) << 6) | (63 & a));
														return l;
													});
											})();
										},
										function (e, t) {
											e.exports = function (e) {
												return (
													e.webpackPolyfill ||
														((e.deprecate = function () {}),
														(e.paths = []),
														e.children || (e.children = []),
														Object.defineProperty(e, 'loaded', {
															enumerable: !0,
															get: function () {
																return e.l;
															},
														}),
														Object.defineProperty(e, 'id', {
															enumerable: !0,
															get: function () {
																return e.i;
															},
														}),
														(e.webpackPolyfill = 1)),
													e
												);
											};
										},
										function (e, t, r) {
											(function (e, n) {
												var i;
												!(function (o) {
													var a = ('object' == (0, l.default)(e) && e && e.exports, 'object' == (0, l.default)(n) && n);
													a.global !== a && a.window;
													var s,
														u,
														c,
														f = String.fromCharCode;
													function d(e) {
														for (var t, r, n = [], i = 0, o = e.length; i < o; ) (t = e.charCodeAt(i++)) >= 55296 && t <= 56319 && i < o ? (56320 == (64512 & (r = e.charCodeAt(i++))) ? n.push(((1023 & t) << 10) + (1023 & r) + 65536) : (n.push(t), i--)) : n.push(t);
														return n;
													}
													function h(e, t) {
														if (e >= 55296 && e <= 57343) {
															if (t) throw Error('Lone surrogate U+' + e.toString(16).toUpperCase() + ' is not a scalar value');
															return !1;
														}
														return !0;
													}
													function p(e, t) {
														return f(((e >> t) & 63) | 128);
													}
													function v(e, t) {
														if (0 == (4294967168 & e)) return f(e);
														var r = '';
														return 0 == (4294965248 & e) ? (r = f(((e >> 6) & 31) | 192)) : 0 == (4294901760 & e) ? (h(e, t) || (e = 65533), (r = f(((e >> 12) & 15) | 224)), (r += p(e, 6))) : 0 == (4292870144 & e) && ((r = f(((e >> 18) & 7) | 240)), (r += p(e, 12)), (r += p(e, 6))), r + f((63 & e) | 128);
													}
													function y() {
														if (c >= u) throw Error('Invalid byte index');
														var e = 255 & s[c];
														if ((c++, 128 == (192 & e))) return 63 & e;
														throw Error('Invalid continuation byte');
													}
													function m(e) {
														var t, r;
														if (c > u) throw Error('Invalid byte index');
														if (c == u) return !1;
														if (((t = 255 & s[c]), c++, 0 == (128 & t))) return t;
														if (192 == (224 & t)) {
															if ((r = ((31 & t) << 6) | y()) >= 128) return r;
															throw Error('Invalid continuation byte');
														}
														if (224 == (240 & t)) {
															if ((r = ((15 & t) << 12) | (y() << 6) | y()) >= 2048) return h(r, e) ? r : 65533;
															throw Error('Invalid continuation byte');
														}
														if (240 == (248 & t) && (r = ((7 & t) << 18) | (y() << 12) | (y() << 6) | y()) >= 65536 && r <= 1114111) return r;
														throw Error('Invalid UTF-8 detected');
													}
													var b = {
														version: '2.1.2',
														encode: function (e, t) {
															for (var r = !1 !== (t = t || {}).strict, n = d(e), i = n.length, o = -1, a = ''; ++o < i; ) a += v(n[o], r);
															return a;
														},
														decode: function (e, t) {
															var r = !1 !== (t = t || {}).strict;
															(s = d(e)), (u = s.length), (c = 0);
															for (var n, i = []; !1 !== (n = m(r)); ) i.push(n);
															return (function (e) {
																for (var t, r = e.length, n = -1, i = ''; ++n < r; ) (t = e[n]) > 65535 && ((i += f((((t -= 65536) >>> 10) & 1023) | 55296)), (t = 56320 | (1023 & t))), (i += f(t));
																return i;
															})(i);
														},
													};
													void 0 ===
														(i = function () {
															return b;
														}.call(t, r, t, e)) || (e.exports = i);
												})();
											}).call(this, r(16)(e), r(0));
										},
										function (e, t) {
											function r() {}
											e.exports = function (e, t, n) {
												var i = !1;
												return (n = n || r), (o.count = e), 0 === e ? t() : o;
												function o(e, r) {
													if (o.count <= 0) throw new Error('after called too many times');
													--o.count, e ? ((i = !0), t(e), (t = n)) : 0 !== o.count || i || t(null, r);
												}
											};
										},
										function (e, t) {
											e.exports = function (e, t, r) {
												var n = e.byteLength;
												if (((t = t || 0), (r = r || n), e.slice)) return e.slice(t, r);
												if ((t < 0 && (t += n), r < 0 && (r += n), r > n && (r = n), t >= n || t >= r || 0 === n)) return new ArrayBuffer(0);
												for (var i = new Uint8Array(e), o = new Uint8Array(r - t), a = t, s = 0; a < r; a++, s++) o[s] = i[a];
												return o.buffer;
											};
										},
										function (e, t) {
											var r = {}.toString;
											e.exports =
												Array.isArray ||
												function (e) {
													return '[object Array]' == r.call(e);
												};
										},
										function (e, t) {
											var r = {}.toString;
											e.exports =
												Array.isArray ||
												function (e) {
													return '[object Array]' == r.call(e);
												};
										},
										function (e, t) {
											(t.read = function (e, t, r, n, i) {
												var o,
													a,
													s = 8 * i - n - 1,
													u = (1 << s) - 1,
													c = u >> 1,
													l = -7,
													f = r ? i - 1 : 0,
													d = r ? -1 : 1,
													h = e[t + f];
												for (f += d, o = h & ((1 << -l) - 1), h >>= -l, l += s; l > 0; o = 256 * o + e[t + f], f += d, l -= 8);
												for (a = o & ((1 << -l) - 1), o >>= -l, l += n; l > 0; a = 256 * a + e[t + f], f += d, l -= 8);
												if (0 === o) o = 1 - c;
												else {
													if (o === u) return a ? NaN : (1 / 0) * (h ? -1 : 1);
													(a += Math.pow(2, n)), (o -= c);
												}
												return (h ? -1 : 1) * a * Math.pow(2, o - n);
											}),
												(t.write = function (e, t, r, n, i, o) {
													var a,
														s,
														u,
														c = 8 * o - i - 1,
														l = (1 << c) - 1,
														f = l >> 1,
														d = 23 === i ? Math.pow(2, -24) - Math.pow(2, -77) : 0,
														h = n ? 0 : o - 1,
														p = n ? 1 : -1,
														v = t < 0 || (0 === t && 1 / t < 0) ? 1 : 0;
													for (
														t = Math.abs(t),
															isNaN(t) || t === 1 / 0
																? ((s = isNaN(t) ? 1 : 0), (a = l))
																: ((a = Math.floor(Math.log(t) / Math.LN2)), t * (u = Math.pow(2, -a)) < 1 && (a--, (u *= 2)), (t += a + f >= 1 ? d / u : d * Math.pow(2, 1 - f)) * u >= 2 && (a++, (u /= 2)), a + f >= l ? ((s = 0), (a = l)) : a + f >= 1 ? ((s = (t * u - 1) * Math.pow(2, i)), (a += f)) : ((s = t * Math.pow(2, f - 1) * Math.pow(2, i)), (a = 0)));
														i >= 8;
														e[r + h] = 255 & s, h += p, s /= 256, i -= 8
													);
													for (a = (a << i) | s, c += i; c > 0; e[r + h] = 255 & a, h += p, a /= 256, c -= 8);
													e[r + h - p] |= 128 * v;
												});
										},
										function (e, t, r) {
											(t.byteLength = function (e) {
												var t = c(e),
													r = t[0],
													n = t[1];
												return (3 * (r + n)) / 4 - n;
											}),
												(t.toByteArray = function (e) {
													for (var t, r = c(e), n = r[0], a = r[1], s = new o(NaN), u = 0, l = a > 0 ? n - 4 : n, f = 0; f < l; f += 4) (t = (i[e.charCodeAt(f)] << 18) | (i[e.charCodeAt(f + 1)] << 12) | (i[e.charCodeAt(f + 2)] << 6) | i[e.charCodeAt(f + 3)]), (s[u++] = (t >> 16) & 255), (s[u++] = (t >> 8) & 255), (s[u++] = 255 & t);
													return 2 === a && ((t = (i[e.charCodeAt(f)] << 2) | (i[e.charCodeAt(f + 1)] >> 4)), (s[u++] = 255 & t)), 1 === a && ((t = (i[e.charCodeAt(f)] << 10) | (i[e.charCodeAt(f + 1)] << 4) | (i[e.charCodeAt(f + 2)] >> 2)), (s[u++] = (t >> 8) & 255), (s[u++] = 255 & t)), s;
												}),
												(t.fromByteArray = function (e) {
													for (var t, r = e.length, i = r % 3, o = [], a = 0, s = r - i; a < s; a += 16383) o.push(l(e, a, a + 16383 > s ? s : a + 16383));
													return 1 === i ? ((t = e[r - 1]), o.push(n[t >> 2] + n[(t << 4) & 63] + '==')) : 2 === i && ((t = (e[r - 2] << 8) + e[r - 1]), o.push(n[t >> 10] + n[(t >> 4) & 63] + n[(t << 2) & 63] + '=')), o.join('');
												});
											for (var n = [], i = [], o = 'undefined' != typeof Uint8Array ? Uint8Array : Array, a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', s = 0, u = a.length; s < u; ++s) (n[s] = a[s]), (i[a.charCodeAt(s)] = s);
											function c(e) {
												var t = e.length;
												if (t % 4 > 0) throw new Error('Invalid string. Length must be a multiple of 4');
												var r = e.indexOf('=');
												return -1 === r && (r = t), [r, r === t ? 0 : 4 - (r % 4)];
											}
											function l(e, t, r) {
												for (var i, o, a = [], s = t; s < r; s += 3) (i = ((e[s] << 16) & 16711680) + ((e[s + 1] << 8) & 65280) + (255 & e[s + 2])), a.push(n[((o = i) >> 18) & 63] + n[(o >> 12) & 63] + n[(o >> 6) & 63] + n[63 & o]);
												return a.join('');
											}
											(i['-'.charCodeAt(0)] = 62), (i['_'.charCodeAt(0)] = 63);
										},
										function (e, t, r) {
											(function (e) {
												var n = r(23),
													i = r(22),
													o = r(21);
												function a() {
													return u.TYPED_ARRAY_SUPPORT ? 2147483647 : 1073741823;
												}
												function s(e, t) {
													if (a() < t) throw new RangeError('Invalid typed array length');
													return u.TYPED_ARRAY_SUPPORT ? ((e = new Uint8Array(t)).__proto__ = u.prototype) : (null === e && (e = new u(t)), (e.length = t)), e;
												}
												function u(e, t, r) {
													if (!(u.TYPED_ARRAY_SUPPORT || this instanceof u)) return new u(e, t, r);
													if ('number' == typeof e) {
														if ('string' == typeof t) throw new Error('If encoding is specified then the first argument must be a string');
														return f(this, e);
													}
													return c(this, e, t, r);
												}
												function c(e, t, r, n) {
													if ('number' == typeof t) throw new TypeError('"value" argument must not be a number');
													return 'undefined' != typeof ArrayBuffer && t instanceof ArrayBuffer
														? (function (e, t, r, n) {
																if ((t.byteLength, r < 0 || t.byteLength < r)) throw new RangeError("'offset' is out of bounds");
																if (t.byteLength < r + (n || 0)) throw new RangeError("'length' is out of bounds");
																return (t = void 0 === r && void 0 === n ? new Uint8Array(t) : void 0 === n ? new Uint8Array(t, r) : new Uint8Array(t, r, n)), u.TYPED_ARRAY_SUPPORT ? ((e = t).__proto__ = u.prototype) : (e = d(e, t)), e;
														  })(e, t, r, n)
														: 'string' == typeof t
														? (function (e, t, r) {
																if ((('string' == typeof r && '' !== r) || (r = 'utf8'), !u.isEncoding(r))) throw new TypeError('"encoding" must be a valid string encoding');
																var n = 0 | p(t, r),
																	i = (e = s(e, n)).write(t, r);
																return i !== n && (e = e.slice(0, i)), e;
														  })(e, t, r)
														: (function (e, t) {
																if (u.isBuffer(t)) {
																	var r = 0 | h(t.length);
																	return 0 === (e = s(e, r)).length ? e : (t.copy(e, 0, 0, r), e);
																}
																if (t) {
																	if (('undefined' != typeof ArrayBuffer && t.buffer instanceof ArrayBuffer) || 'length' in t) return 'number' != typeof t.length || (n = t.length) != n ? s(e, 0) : d(e, t);
																	if ('Buffer' === t.type && o(t.data)) return d(e, t.data);
																}
																var n;
																throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.');
														  })(e, t);
												}
												function l(e) {
													if ('number' != typeof e) throw new TypeError('"size" argument must be a number');
													if (e < 0) throw new RangeError('"size" argument must not be negative');
												}
												function f(e, t) {
													if ((l(t), (e = s(e, t < 0 ? 0 : 0 | h(t))), !u.TYPED_ARRAY_SUPPORT)) for (var r = 0; r < t; ++r) e[r] = 0;
													return e;
												}
												function d(e, t) {
													var r = t.length < 0 ? 0 : 0 | h(t.length);
													e = s(e, r);
													for (var n = 0; n < r; n += 1) e[n] = 255 & t[n];
													return e;
												}
												function h(e) {
													if (e >= a()) throw new RangeError('Attempt to allocate Buffer larger than maximum size: 0x' + a().toString(16) + ' bytes');
													return 0 | e;
												}
												function p(e, t) {
													if (u.isBuffer(e)) return e.length;
													if ('undefined' != typeof ArrayBuffer && 'function' == typeof ArrayBuffer.isView && (ArrayBuffer.isView(e) || e instanceof ArrayBuffer)) return e.byteLength;
													'string' != typeof e && (e = '' + e);
													var r = e.length;
													if (0 === r) return 0;
													for (var n = !1; ; )
														switch (t) {
															case 'ascii':
															case 'latin1':
															case 'binary':
																return r;
															case 'utf8':
															case 'utf-8':
															case void 0:
																return q(e).length;
															case 'ucs2':
															case 'ucs-2':
															case 'utf16le':
															case 'utf-16le':
																return 2 * r;
															case 'hex':
																return r >>> 1;
															case 'base64':
																return W(e).length;
															default:
																if (n) return q(e).length;
																(t = ('' + t).toLowerCase()), (n = !0);
														}
												}
												function v(e, t, r) {
													var n = e[t];
													(e[t] = e[r]), (e[r] = n);
												}
												function y(e, t, r, n, i) {
													if (0 === e.length) return -1;
													if (('string' == typeof r ? ((n = r), (r = 0)) : r > 2147483647 ? (r = 2147483647) : r < -2147483648 && (r = -2147483648), (r = +r), isNaN(r) && (r = i ? 0 : e.length - 1), r < 0 && (r = e.length + r), r >= e.length)) {
														if (i) return -1;
														r = e.length - 1;
													} else if (r < 0) {
														if (!i) return -1;
														r = 0;
													}
													if (('string' == typeof t && (t = u.from(t, n)), u.isBuffer(t))) return 0 === t.length ? -1 : m(e, t, r, n, i);
													if ('number' == typeof t) return (t &= 255), u.TYPED_ARRAY_SUPPORT && 'function' == typeof Uint8Array.prototype.indexOf ? (i ? Uint8Array.prototype.indexOf.call(e, t, r) : Uint8Array.prototype.lastIndexOf.call(e, t, r)) : m(e, [t], r, n, i);
													throw new TypeError('val must be string, number or Buffer');
												}
												function m(e, t, r, n, i) {
													var o,
														a = 1,
														s = e.length,
														u = t.length;
													if (void 0 !== n && ('ucs2' === (n = String(n).toLowerCase()) || 'ucs-2' === n || 'utf16le' === n || 'utf-16le' === n)) {
														if (e.length < 2 || t.length < 2) return -1;
														(a = 2), (s /= 2), (u /= 2), (r /= 2);
													}
													function c(e, t) {
														return 1 === a ? e[t] : e.readUInt16BE(t * a);
													}
													if (i) {
														var l = -1;
														for (o = r; o < s; o++)
															if (c(e, o) === c(t, -1 === l ? 0 : o - l)) {
																if ((-1 === l && (l = o), o - l + 1 === u)) return l * a;
															} else -1 !== l && (o -= o - l), (l = -1);
													} else
														for (r + u > s && (r = s - u), o = r; o >= 0; o--) {
															for (var f = !0, d = 0; d < u; d++)
																if (c(e, o + d) !== c(t, d)) {
																	f = !1;
																	break;
																}
															if (f) return o;
														}
													return -1;
												}
												function b(e, t, r, n) {
													r = Number(r) || 0;
													var i = e.length - r;
													n ? (n = Number(n)) > i && (n = i) : (n = i);
													var o = t.length;
													if (o % 2 != 0) throw new TypeError('Invalid hex string');
													n > o / 2 && (n = o / 2);
													for (var a = 0; a < n; ++a) {
														var s = parseInt(t.substr(2 * a, 2), 16);
														if (isNaN(s)) return a;
														e[r + a] = s;
													}
													return a;
												}
												function g(e, t, r, n) {
													return F(q(t, e.length - r), e, r, n);
												}
												function w(e, t, r, n) {
													return F(
														(function (e) {
															for (var t = [], r = 0; r < e.length; ++r) t.push(255 & e.charCodeAt(r));
															return t;
														})(t),
														e,
														r,
														n
													);
												}
												function _(e, t, r, n) {
													return w(e, t, r, n);
												}
												function k(e, t, r, n) {
													return F(W(t), e, r, n);
												}
												function E(e, t, r, n) {
													return F(
														(function (e, t) {
															for (var r, n, i, o = [], a = 0; a < e.length && !((t -= 2) < 0); ++a) (n = (r = e.charCodeAt(a)) >> 8), (i = r % 256), o.push(i), o.push(n);
															return o;
														})(t, e.length - r),
														e,
														r,
														n
													);
												}
												function S(e, t, r) {
													return 0 === t && r === e.length ? n.fromByteArray(e) : n.fromByteArray(e.slice(t, r));
												}
												function R(e, t, r) {
													r = Math.min(e.length, r);
													for (var n = [], i = t; i < r; ) {
														var o,
															a,
															s,
															u,
															c = e[i],
															l = null,
															f = c > 239 ? 4 : c > 223 ? 3 : c > 191 ? 2 : 1;
														if (i + f <= r)
															switch (f) {
																case 1:
																	c < 128 && (l = c);
																	break;
																case 2:
																	128 == (192 & (o = e[i + 1])) && (u = ((31 & c) << 6) | (63 & o)) > 127 && (l = u);
																	break;
																case 3:
																	(o = e[i + 1]), (a = e[i + 2]), 128 == (192 & o) && 128 == (192 & a) && (u = ((15 & c) << 12) | ((63 & o) << 6) | (63 & a)) > 2047 && (u < 55296 || u > 57343) && (l = u);
																	break;
																case 4:
																	(o = e[i + 1]), (a = e[i + 2]), (s = e[i + 3]), 128 == (192 & o) && 128 == (192 & a) && 128 == (192 & s) && (u = ((15 & c) << 18) | ((63 & o) << 12) | ((63 & a) << 6) | (63 & s)) > 65535 && u < 1114112 && (l = u);
															}
														null === l ? ((l = 65533), (f = 1)) : l > 65535 && ((l -= 65536), n.push(((l >>> 10) & 1023) | 55296), (l = 56320 | (1023 & l))), n.push(l), (i += f);
													}
													return (function (e) {
														var t = e.length;
														if (t <= C) return String.fromCharCode.apply(String, e);
														for (var r = '', n = 0; n < t; ) r += String.fromCharCode.apply(String, e.slice(n, (n += C)));
														return r;
													})(n);
												}
												(t.Buffer = u),
													(t.SlowBuffer = function (e) {
														return +e != e && (e = 0), u.alloc(+e);
													}),
													(t.INSPECT_MAX_BYTES = 50),
													(u.TYPED_ARRAY_SUPPORT =
														void 0 !== e.TYPED_ARRAY_SUPPORT
															? e.TYPED_ARRAY_SUPPORT
															: (function () {
																	try {
																		var e = new Uint8Array(1);
																		return (
																			(e.__proto__ = {
																				__proto__: Uint8Array.prototype,
																				foo: function () {
																					return 42;
																				},
																			}),
																			42 === e.foo() && 'function' == typeof e.subarray && 0 === e.subarray(1, 1).byteLength
																		);
																	} catch (e) {
																		return !1;
																	}
															  })()),
													(t.kMaxLength = a()),
													(u.poolSize = 8192),
													(u._augment = function (e) {
														return (e.__proto__ = u.prototype), e;
													}),
													(u.from = function (e, t, r) {
														return c(null, e, t, r);
													}),
													u.TYPED_ARRAY_SUPPORT && ((u.prototype.__proto__ = Uint8Array.prototype), (u.__proto__ = Uint8Array), 'undefined' != typeof Symbol && Symbol.species && u[Symbol.species] === u && Object.defineProperty(u, Symbol.species, { value: null, configurable: !0 })),
													(u.alloc = function (e, t, r) {
														return (function (e, t, r, n) {
															return l(t), t <= 0 ? s(e, t) : void 0 !== r ? ('string' == typeof n ? s(e, t).fill(r, n) : s(e, t).fill(r)) : s(e, t);
														})(null, e, t, r);
													}),
													(u.allocUnsafe = function (e) {
														return f(null, e);
													}),
													(u.allocUnsafeSlow = function (e) {
														return f(null, e);
													}),
													(u.isBuffer = function (e) {
														return !(null == e || !e._isBuffer);
													}),
													(u.compare = function (e, t) {
														if (!u.isBuffer(e) || !u.isBuffer(t)) throw new TypeError('Arguments must be Buffers');
														if (e === t) return 0;
														for (var r = e.length, n = t.length, i = 0, o = Math.min(r, n); i < o; ++i)
															if (e[i] !== t[i]) {
																(r = e[i]), (n = t[i]);
																break;
															}
														return r < n ? -1 : n < r ? 1 : 0;
													}),
													(u.isEncoding = function (e) {
														switch (String(e).toLowerCase()) {
															case 'hex':
															case 'utf8':
															case 'utf-8':
															case 'ascii':
															case 'latin1':
															case 'binary':
															case 'base64':
															case 'ucs2':
															case 'ucs-2':
															case 'utf16le':
															case 'utf-16le':
																return !0;
															default:
																return !1;
														}
													}),
													(u.concat = function (e, t) {
														if (!o(e)) throw new TypeError('"list" argument must be an Array of Buffers');
														if (0 === e.length) return u.alloc(0);
														var r;
														if (void 0 === t) for (t = 0, r = 0; r < e.length; ++r) t += e[r].length;
														var n = u.allocUnsafe(t),
															i = 0;
														for (r = 0; r < e.length; ++r) {
															var a = e[r];
															if (!u.isBuffer(a)) throw new TypeError('"list" argument must be an Array of Buffers');
															a.copy(n, i), (i += a.length);
														}
														return n;
													}),
													(u.byteLength = p),
													(u.prototype._isBuffer = !0),
													(u.prototype.swap16 = function () {
														var e = this.length;
														if (e % 2 != 0) throw new RangeError('Buffer size must be a multiple of 16-bits');
														for (var t = 0; t < e; t += 2) v(this, t, t + 1);
														return this;
													}),
													(u.prototype.swap32 = function () {
														var e = this.length;
														if (e % 4 != 0) throw new RangeError('Buffer size must be a multiple of 32-bits');
														for (var t = 0; t < e; t += 4) v(this, t, t + 3), v(this, t + 1, t + 2);
														return this;
													}),
													(u.prototype.swap64 = function () {
														var e = this.length;
														if (e % 8 != 0) throw new RangeError('Buffer size must be a multiple of 64-bits');
														for (var t = 0; t < e; t += 8) v(this, t, t + 7), v(this, t + 1, t + 6), v(this, t + 2, t + 5), v(this, t + 3, t + 4);
														return this;
													}),
													(u.prototype.toString = function () {
														var e = 0 | this.length;
														return 0 === e
															? ''
															: 0 === arguments.length
															? R(this, 0, e)
															: function (e, t, r) {
																	var n = !1;
																	if (((void 0 === t || t < 0) && (t = 0), t > this.length)) return '';
																	if (((void 0 === r || r > this.length) && (r = this.length), r <= 0)) return '';
																	if ((r >>>= 0) <= (t >>>= 0)) return '';
																	for (e || (e = 'utf8'); ; )
																		switch (e) {
																			case 'hex':
																				return P(this, t, r);
																			case 'utf8':
																			case 'utf-8':
																				return R(this, t, r);
																			case 'ascii':
																				return A(this, t, r);
																			case 'latin1':
																			case 'binary':
																				return O(this, t, r);
																			case 'base64':
																				return S(this, t, r);
																			case 'ucs2':
																			case 'ucs-2':
																			case 'utf16le':
																			case 'utf-16le':
																				return T(this, t, r);
																			default:
																				if (n) throw new TypeError('Unknown encoding: ' + e);
																				(e = (e + '').toLowerCase()), (n = !0);
																		}
															  }.apply(this, arguments);
													}),
													(u.prototype.equals = function (e) {
														if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
														return this === e || 0 === u.compare(this, e);
													}),
													(u.prototype.inspect = function () {
														var e = '',
															r = t.INSPECT_MAX_BYTES;
														return this.length > 0 && ((e = this.toString('hex', 0, r).match(/.{2}/g).join(' ')), this.length > r && (e += ' ... ')), '<Buffer ' + e + '>';
													}),
													(u.prototype.compare = function (e, t, r, n, i) {
														if (!u.isBuffer(e)) throw new TypeError('Argument must be a Buffer');
														if ((void 0 === t && (t = 0), void 0 === r && (r = e ? e.length : 0), void 0 === n && (n = 0), void 0 === i && (i = this.length), t < 0 || r > e.length || n < 0 || i > this.length)) throw new RangeError('out of range index');
														if (n >= i && t >= r) return 0;
														if (n >= i) return -1;
														if (t >= r) return 1;
														if (((t >>>= 0), (r >>>= 0), (n >>>= 0), (i >>>= 0), this === e)) return 0;
														for (var o = i - n, a = r - t, s = Math.min(o, a), c = this.slice(n, i), l = e.slice(t, r), f = 0; f < s; ++f)
															if (c[f] !== l[f]) {
																(o = c[f]), (a = l[f]);
																break;
															}
														return o < a ? -1 : a < o ? 1 : 0;
													}),
													(u.prototype.includes = function (e, t, r) {
														return -1 !== this.indexOf(e, t, r);
													}),
													(u.prototype.indexOf = function (e, t, r) {
														return y(this, e, t, r, !0);
													}),
													(u.prototype.lastIndexOf = function (e, t, r) {
														return y(this, e, t, r, !1);
													}),
													(u.prototype.write = function (e, t, r, n) {
														if (void 0 === t) (n = 'utf8'), (r = this.length), (t = 0);
														else if (void 0 === r && 'string' == typeof t) (n = t), (r = this.length), (t = 0);
														else {
															if (!isFinite(t)) throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');
															(t |= 0), isFinite(r) ? ((r |= 0), void 0 === n && (n = 'utf8')) : ((n = r), (r = void 0));
														}
														var i = this.length - t;
														if (((void 0 === r || r > i) && (r = i), (e.length > 0 && (r < 0 || t < 0)) || t > this.length)) throw new RangeError('Attempt to write outside buffer bounds');
														n || (n = 'utf8');
														for (var o = !1; ; )
															switch (n) {
																case 'hex':
																	return b(this, e, t, r);
																case 'utf8':
																case 'utf-8':
																	return g(this, e, t, r);
																case 'ascii':
																	return w(this, e, t, r);
																case 'latin1':
																case 'binary':
																	return _(this, e, t, r);
																case 'base64':
																	return k(this, e, t, r);
																case 'ucs2':
																case 'ucs-2':
																case 'utf16le':
																case 'utf-16le':
																	return E(this, e, t, r);
																default:
																	if (o) throw new TypeError('Unknown encoding: ' + n);
																	(n = ('' + n).toLowerCase()), (o = !0);
															}
													}),
													(u.prototype.toJSON = function () {
														return { type: 'Buffer', data: Array.prototype.slice.call(this._arr || this, 0) };
													});
												var C = 4096;
												function A(e, t, r) {
													var n = '';
													r = Math.min(e.length, r);
													for (var i = t; i < r; ++i) n += String.fromCharCode(127 & e[i]);
													return n;
												}
												function O(e, t, r) {
													var n = '';
													r = Math.min(e.length, r);
													for (var i = t; i < r; ++i) n += String.fromCharCode(e[i]);
													return n;
												}
												function P(e, t, r) {
													var n = e.length;
													(!t || t < 0) && (t = 0), (!r || r < 0 || r > n) && (r = n);
													for (var i = '', o = t; o < r; ++o) i += U(e[o]);
													return i;
												}
												function T(e, t, r) {
													for (var n = e.slice(t, r), i = '', o = 0; o < n.length; o += 2) i += String.fromCharCode(n[o] + 256 * n[o + 1]);
													return i;
												}
												function j(e, t, r) {
													if (e % 1 != 0 || e < 0) throw new RangeError('offset is not uint');
													if (e + t > r) throw new RangeError('Trying to access beyond buffer length');
												}
												function x(e, t, r, n, i, o) {
													if (!u.isBuffer(e)) throw new TypeError('"buffer" argument must be a Buffer instance');
													if (t > i || t < o) throw new RangeError('"value" argument is out of bounds');
													if (r + n > e.length) throw new RangeError('Index out of range');
												}
												function I(e, t, r, n) {
													t < 0 && (t = 65535 + t + 1);
													for (var i = 0, o = Math.min(e.length - r, 2); i < o; ++i) e[r + i] = (t & (255 << (8 * (n ? i : 1 - i)))) >>> (8 * (n ? i : 1 - i));
												}
												function M(e, t, r, n) {
													t < 0 && (t = 4294967295 + t + 1);
													for (var i = 0, o = Math.min(e.length - r, 4); i < o; ++i) e[r + i] = (t >>> (8 * (n ? i : 3 - i))) & 255;
												}
												function B(e, t, r, n, i, o) {
													if (r + n > e.length) throw new RangeError('Index out of range');
													if (r < 0) throw new RangeError('Index out of range');
												}
												function D(e, t, r, n, o) {
													return o || B(e, 0, r, 4), i.write(e, t, r, n, 23, 4), r + 4;
												}
												function L(e, t, r, n, o) {
													return o || B(e, 0, r, 8), i.write(e, t, r, n, 52, 8), r + 8;
												}
												(u.prototype.slice = function (e, t) {
													var r,
														n = this.length;
													if (((e = ~~e), (t = void 0 === t ? n : ~~t), e < 0 ? (e += n) < 0 && (e = 0) : e > n && (e = n), t < 0 ? (t += n) < 0 && (t = 0) : t > n && (t = n), t < e && (t = e), u.TYPED_ARRAY_SUPPORT)) (r = this.subarray(e, t)).__proto__ = u.prototype;
													else {
														var i = t - e;
														r = new u(i, void 0);
														for (var o = 0; o < i; ++o) r[o] = this[o + e];
													}
													return r;
												}),
													(u.prototype.readUIntLE = function (e, t, r) {
														(e |= 0), (t |= 0), r || j(e, t, this.length);
														for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
														return n;
													}),
													(u.prototype.readUIntBE = function (e, t, r) {
														(e |= 0), (t |= 0), r || j(e, t, this.length);
														for (var n = this[e + --t], i = 1; t > 0 && (i *= 256); ) n += this[e + --t] * i;
														return n;
													}),
													(u.prototype.readUInt8 = function (e, t) {
														return t || j(e, 1, this.length), this[e];
													}),
													(u.prototype.readUInt16LE = function (e, t) {
														return t || j(e, 2, this.length), this[e] | (this[e + 1] << 8);
													}),
													(u.prototype.readUInt16BE = function (e, t) {
														return t || j(e, 2, this.length), (this[e] << 8) | this[e + 1];
													}),
													(u.prototype.readUInt32LE = function (e, t) {
														return t || j(e, 4, this.length), (this[e] | (this[e + 1] << 8) | (this[e + 2] << 16)) + 16777216 * this[e + 3];
													}),
													(u.prototype.readUInt32BE = function (e, t) {
														return t || j(e, 4, this.length), 16777216 * this[e] + ((this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3]);
													}),
													(u.prototype.readIntLE = function (e, t, r) {
														(e |= 0), (t |= 0), r || j(e, t, this.length);
														for (var n = this[e], i = 1, o = 0; ++o < t && (i *= 256); ) n += this[e + o] * i;
														return n >= (i *= 128) && (n -= Math.pow(2, 8 * t)), n;
													}),
													(u.prototype.readIntBE = function (e, t, r) {
														(e |= 0), (t |= 0), r || j(e, t, this.length);
														for (var n = t, i = 1, o = this[e + --n]; n > 0 && (i *= 256); ) o += this[e + --n] * i;
														return o >= (i *= 128) && (o -= Math.pow(2, 8 * t)), o;
													}),
													(u.prototype.readInt8 = function (e, t) {
														return t || j(e, 1, this.length), 128 & this[e] ? -1 * (255 - this[e] + 1) : this[e];
													}),
													(u.prototype.readInt16LE = function (e, t) {
														t || j(e, 2, this.length);
														var r = this[e] | (this[e + 1] << 8);
														return 32768 & r ? 4294901760 | r : r;
													}),
													(u.prototype.readInt16BE = function (e, t) {
														t || j(e, 2, this.length);
														var r = this[e + 1] | (this[e] << 8);
														return 32768 & r ? 4294901760 | r : r;
													}),
													(u.prototype.readInt32LE = function (e, t) {
														return t || j(e, 4, this.length), this[e] | (this[e + 1] << 8) | (this[e + 2] << 16) | (this[e + 3] << 24);
													}),
													(u.prototype.readInt32BE = function (e, t) {
														return t || j(e, 4, this.length), (this[e] << 24) | (this[e + 1] << 16) | (this[e + 2] << 8) | this[e + 3];
													}),
													(u.prototype.readFloatLE = function (e, t) {
														return t || j(e, 4, this.length), i.read(this, e, !0, 23, 4);
													}),
													(u.prototype.readFloatBE = function (e, t) {
														return t || j(e, 4, this.length), i.read(this, e, !1, 23, 4);
													}),
													(u.prototype.readDoubleLE = function (e, t) {
														return t || j(e, 8, this.length), i.read(this, e, !0, 52, 8);
													}),
													(u.prototype.readDoubleBE = function (e, t) {
														return t || j(e, 8, this.length), i.read(this, e, !1, 52, 8);
													}),
													(u.prototype.writeUIntLE = function (e, t, r, n) {
														(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
														var i = 1,
															o = 0;
														for (this[t] = 255 & e; ++o < r && (i *= 256); ) this[t + o] = (e / i) & 255;
														return t + r;
													}),
													(u.prototype.writeUIntBE = function (e, t, r, n) {
														(e = +e), (t |= 0), (r |= 0), n || x(this, e, t, r, Math.pow(2, 8 * r) - 1, 0);
														var i = r - 1,
															o = 1;
														for (this[t + i] = 255 & e; --i >= 0 && (o *= 256); ) this[t + i] = (e / o) & 255;
														return t + r;
													}),
													(u.prototype.writeUInt8 = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 1, 255, 0), u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), (this[t] = 255 & e), t + 1;
													}),
													(u.prototype.writeUInt16LE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0), t + 2;
													}),
													(u.prototype.writeUInt16BE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 2, 65535, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1), t + 2;
													}),
													(u.prototype.writeUInt32LE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 4, 4294967295, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t + 3] = e >>> 24), (this[t + 2] = e >>> 16), (this[t + 1] = e >>> 8), (this[t] = 255 & e)) : M(this, e, t, !0), t + 4;
													}),
													(u.prototype.writeUInt32BE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 4, 4294967295, 0), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e)) : M(this, e, t, !1), t + 4;
													}),
													(u.prototype.writeIntLE = function (e, t, r, n) {
														if (((e = +e), (t |= 0), !n)) {
															var i = Math.pow(2, 8 * r - 1);
															x(this, e, t, r, i - 1, -i);
														}
														var o = 0,
															a = 1,
															s = 0;
														for (this[t] = 255 & e; ++o < r && (a *= 256); ) e < 0 && 0 === s && 0 !== this[t + o - 1] && (s = 1), (this[t + o] = (((e / a) >> 0) - s) & 255);
														return t + r;
													}),
													(u.prototype.writeIntBE = function (e, t, r, n) {
														if (((e = +e), (t |= 0), !n)) {
															var i = Math.pow(2, 8 * r - 1);
															x(this, e, t, r, i - 1, -i);
														}
														var o = r - 1,
															a = 1,
															s = 0;
														for (this[t + o] = 255 & e; --o >= 0 && (a *= 256); ) e < 0 && 0 === s && 0 !== this[t + o + 1] && (s = 1), (this[t + o] = (((e / a) >> 0) - s) & 255);
														return t + r;
													}),
													(u.prototype.writeInt8 = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 1, 127, -128), u.TYPED_ARRAY_SUPPORT || (e = Math.floor(e)), e < 0 && (e = 255 + e + 1), (this[t] = 255 & e), t + 1;
													}),
													(u.prototype.writeInt16LE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 2, 32767, -32768), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8)) : I(this, e, t, !0), t + 2;
													}),
													(u.prototype.writeInt16BE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 2, 32767, -32768), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 8), (this[t + 1] = 255 & e)) : I(this, e, t, !1), t + 2;
													}),
													(u.prototype.writeInt32LE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 4, 2147483647, -2147483648), u.TYPED_ARRAY_SUPPORT ? ((this[t] = 255 & e), (this[t + 1] = e >>> 8), (this[t + 2] = e >>> 16), (this[t + 3] = e >>> 24)) : M(this, e, t, !0), t + 4;
													}),
													(u.prototype.writeInt32BE = function (e, t, r) {
														return (e = +e), (t |= 0), r || x(this, e, t, 4, 2147483647, -2147483648), e < 0 && (e = 4294967295 + e + 1), u.TYPED_ARRAY_SUPPORT ? ((this[t] = e >>> 24), (this[t + 1] = e >>> 16), (this[t + 2] = e >>> 8), (this[t + 3] = 255 & e)) : M(this, e, t, !1), t + 4;
													}),
													(u.prototype.writeFloatLE = function (e, t, r) {
														return D(this, e, t, !0, r);
													}),
													(u.prototype.writeFloatBE = function (e, t, r) {
														return D(this, e, t, !1, r);
													}),
													(u.prototype.writeDoubleLE = function (e, t, r) {
														return L(this, e, t, !0, r);
													}),
													(u.prototype.writeDoubleBE = function (e, t, r) {
														return L(this, e, t, !1, r);
													}),
													(u.prototype.copy = function (e, t, r, n) {
														if ((r || (r = 0), n || 0 === n || (n = this.length), t >= e.length && (t = e.length), t || (t = 0), n > 0 && n < r && (n = r), n === r)) return 0;
														if (0 === e.length || 0 === this.length) return 0;
														if (t < 0) throw new RangeError('targetStart out of bounds');
														if (r < 0 || r >= this.length) throw new RangeError('sourceStart out of bounds');
														if (n < 0) throw new RangeError('sourceEnd out of bounds');
														n > this.length && (n = this.length), e.length - t < n - r && (n = e.length - t + r);
														var i,
															o = n - r;
														if (this === e && r < t && t < n) for (i = o - 1; i >= 0; --i) e[i + t] = this[i + r];
														else if (o < 1e3 || !u.TYPED_ARRAY_SUPPORT) for (i = 0; i < o; ++i) e[i + t] = this[i + r];
														else Uint8Array.prototype.set.call(e, this.subarray(r, r + o), t);
														return o;
													}),
													(u.prototype.fill = function (e, t, r, n) {
														if ('string' == typeof e) {
															if (('string' == typeof t ? ((n = t), (t = 0), (r = this.length)) : 'string' == typeof r && ((n = r), (r = this.length)), 1 === e.length)) {
																var i = e.charCodeAt(0);
																i < 256 && (e = i);
															}
															if (void 0 !== n && 'string' != typeof n) throw new TypeError('encoding must be a string');
															if ('string' == typeof n && !u.isEncoding(n)) throw new TypeError('Unknown encoding: ' + n);
														} else 'number' == typeof e && (e &= 255);
														if (t < 0 || this.length < t || this.length < r) throw new RangeError('Out of range index');
														if (r <= t) return this;
														var o;
														if (((t >>>= 0), (r = void 0 === r ? this.length : r >>> 0), e || (e = 0), 'number' == typeof e)) for (o = t; o < r; ++o) this[o] = e;
														else {
															var a = u.isBuffer(e) ? e : q(new u(e, n).toString()),
																s = a.length;
															for (o = 0; o < r - t; ++o) this[o + t] = a[o % s];
														}
														return this;
													});
												var N = /[^+\/0-9A-Za-z-_]/g;
												function U(e) {
													return e < 16 ? '0' + e.toString(16) : e.toString(16);
												}
												function q(e, t) {
													var r;
													t = t || 1 / 0;
													for (var n = e.length, i = null, o = [], a = 0; a < n; ++a) {
														if ((r = e.charCodeAt(a)) > 55295 && r < 57344) {
															if (!i) {
																if (r > 56319) {
																	(t -= 3) > -1 && o.push(239, 191, 189);
																	continue;
																}
																if (a + 1 === n) {
																	(t -= 3) > -1 && o.push(239, 191, 189);
																	continue;
																}
																i = r;
																continue;
															}
															if (r < 56320) {
																(t -= 3) > -1 && o.push(239, 191, 189), (i = r);
																continue;
															}
															r = 65536 + (((i - 55296) << 10) | (r - 56320));
														} else i && (t -= 3) > -1 && o.push(239, 191, 189);
														if (((i = null), r < 128)) {
															if ((t -= 1) < 0) break;
															o.push(r);
														} else if (r < 2048) {
															if ((t -= 2) < 0) break;
															o.push((r >> 6) | 192, (63 & r) | 128);
														} else if (r < 65536) {
															if ((t -= 3) < 0) break;
															o.push((r >> 12) | 224, ((r >> 6) & 63) | 128, (63 & r) | 128);
														} else {
															if (!(r < 1114112)) throw new Error('Invalid code point');
															if ((t -= 4) < 0) break;
															o.push((r >> 18) | 240, ((r >> 12) & 63) | 128, ((r >> 6) & 63) | 128, (63 & r) | 128);
														}
													}
													return o;
												}
												function W(e) {
													return n.toByteArray(
														(function (e) {
															if (
																(e = (function (e) {
																	return e.trim ? e.trim() : e.replace(/^\s+|\s+$/g, '');
																})(e).replace(N, '')).length < 2
															)
																return '';
															for (; e.length % 4 != 0; ) e += '=';
															return e;
														})(e)
													);
												}
												function F(e, t, r, n) {
													for (var i = 0; i < n && !(i + r >= t.length || i >= e.length); ++i) t[i + r] = e[i];
													return i;
												}
											}).call(this, r(0));
										},
										function (e, t, r) {
											(function (t) {
												var n = r(20),
													i = Object.prototype.toString,
													o = 'function' == typeof Blob || ('undefined' != typeof Blob && '[object BlobConstructor]' === i.call(Blob)),
													a = 'function' == typeof File || ('undefined' != typeof File && '[object FileConstructor]' === i.call(File));
												e.exports = function e(r) {
													if (!r || 'object' != (0, l.default)(r)) return !1;
													if (n(r)) {
														for (var i = 0, s = r.length; i < s; i++) if (e(r[i])) return !0;
														return !1;
													}
													if (('function' == typeof t && t.isBuffer && t.isBuffer(r)) || ('function' == typeof ArrayBuffer && r instanceof ArrayBuffer) || (o && r instanceof Blob) || (a && r instanceof File)) return !0;
													if (r.toJSON && 'function' == typeof r.toJSON && 1 === arguments.length) return e(r.toJSON(), !0);
													for (var u in r) if (Object.prototype.hasOwnProperty.call(r, u) && e(r[u])) return !0;
													return !1;
												};
											}).call(this, r(24).Buffer);
										},
										function (e, t) {
											e.exports =
												Object.keys ||
												function (e) {
													var t = [],
														r = Object.prototype.hasOwnProperty;
													for (var n in e) r.call(e, n) && t.push(n);
													return t;
												};
										},
										function (e, t, r) {
											(function (t) {
												var n,
													i = r(5),
													o = r(1),
													a = r(3),
													s = r(13),
													u = r(12),
													c = r(2)('engine.io-client:websocket'),
													l = t.WebSocket || t.MozWebSocket;
												if ('undefined' == typeof window)
													try {
														n = r(11);
													} catch (e) {
														c('require error: ', e);
													}
												var f = l;
												function d(e) {
													e && e.forceBase64 && (this.supportsBinary = !1), (this.perMessageDeflate = e.perMessageDeflate), (this.usingBrowserWebSocket = l && !e.forceNode), (this.protocols = e.protocols), this.usingBrowserWebSocket || (f = n), i.call(this, e);
												}
												f || 'undefined' != typeof window || (f = n),
													(e.exports = d),
													s(d, i),
													(d.prototype.name = 'websocket'),
													(d.prototype.supportsBinary = !0),
													(d.prototype.doOpen = function () {
														if ((c('wesocket do open: ', this.protocols), this.check())) {
															var e = this.uri(),
																t = this.protocols,
																r = { agent: this.agent, perMessageDeflate: this.perMessageDeflate };
															(r.pfx = this.pfx), (r.key = this.key), (r.passphrase = this.passphrase), (r.cert = this.cert), (r.ca = this.ca), (r.ciphers = this.ciphers), (r.rejectUnauthorized = this.rejectUnauthorized), this.extraHeaders && (r.headers = this.extraHeaders), this.localAddress && (r.localAddress = this.localAddress);
															try {
																this.ws = this.usingBrowserWebSocket ? (t ? new f(e, t) : new f(e)) : new f(e, t, r);
															} catch (e) {
																return this.emit('error', e);
															}
															void 0 === this.ws.binaryType && (this.supportsBinary = !1), this.ws.supports && this.ws.supports.binary ? ((this.supportsBinary = !0), (this.ws.binaryType = 'nodebuffer')) : (this.ws.binaryType = 'arraybuffer'), this.addEventListeners();
														}
													}),
													(d.prototype.addEventListeners = function () {
														var e = this;
														(this.ws.onopen = function () {
															e.onOpen();
														}),
															(this.ws.onclose = function () {
																e.onClose();
															}),
															(this.ws.onmessage = function (t) {
																e.onData(t.data);
															}),
															(this.ws.onerror = function (t) {
																e.onError('websocket error', t);
															});
													}),
													(d.prototype.write = function (e) {
														var t = this;
														this.writable = !1;
														for (var r, n = e.length, i = 0, a = n; i < a; i++)
															(r = e[i]),
																o.encodePacket(r, t.supportsBinary, function (e) {
																	try {
																		t.ws.send(e);
																	} catch (e) {}
																	--n ||
																		(t.emit('flush'),
																		setTimeout(function () {
																			(t.writable = !0), t.emit('drain');
																		}, 0));
																});
													}),
													(d.prototype.onClose = function () {
														i.prototype.onClose.call(this);
													}),
													(d.prototype.doClose = function () {
														void 0 !== this.ws && this.ws.close();
													}),
													(d.prototype.uri = function () {
														var e = this.query || {},
															t = this.secure ? 'wss' : 'ws',
															r = '';
														return (
															this.port && (('wss' === t && 443 !== Number(this.port)) || ('ws' === t && 80 !== Number(this.port))) && (r = ':' + this.port),
															this.timestampRequests && (e[this.timestampParam] = u()),
															this.supportsBinary || (e.b64 = 1),
															(e = a.encode(e)).length && (e = '?' + e),
															t + '://' + (-1 !== this.hostname.indexOf(':') ? '[' + this.hostname + ']' : this.hostname) + r + this.path + e
														);
													}),
													(d.prototype.check = function () {
														return !(!f || ('__initialize' in f && this.name === d.prototype.name));
													});
											}).call(this, r(0));
										},
										function (e, t, r) {
											(function (t) {
												var n = r(6),
													i = r(4),
													o = r(2)('engine.io-client:socket'),
													a = r(8),
													s = r(1),
													u = r(7),
													c = r(3);
												function f(e, r) {
													if (!(this instanceof f)) return new f(e, r);
													(r = r || {}),
														e && 'object' == (0, l.default)(e) && ((r = e), (e = null)),
														e ? ((e = u(e)), (r.hostname = e.host), (r.secure = 'https' === e.protocol || 'wss' === e.protocol), (r.port = e.port), e.query && (r.query = e.query)) : r.host && (r.hostname = u(r.host).host),
														(this.secure = null != r.secure ? r.secure : t.location && 'https:' === location.protocol),
														r.hostname && !r.port && (r.port = this.secure ? '443' : '80'),
														(this.agent = r.agent || !1),
														(this.hostname = r.hostname || (t.location ? location.hostname : 'localhost')),
														(this.port = r.port || (t.location && location.port ? location.port : this.secure ? 443 : 80)),
														(this.query = r.query || {}),
														'string' == typeof this.query && (this.query = c.decode(this.query)),
														(this.upgrade = !1 !== r.upgrade),
														(this.path = (r.path || '/engine.io').replace(/\/$/, '') + '/'),
														(this.forceJSONP = !!r.forceJSONP),
														(this.jsonp = !1 !== r.jsonp),
														(this.forceBase64 = !!r.forceBase64),
														(this.enablesXDR = !!r.enablesXDR),
														(this.timestampParam = r.timestampParam || 't'),
														(this.timestampRequests = r.timestampRequests),
														(this.transports = r.transports || ['websocket']),
														(this.transportOptions = r.transportOptions || {}),
														(this.readyState = ''),
														(this.writeBuffer = []),
														(this.prevBufferLen = 0),
														(this.policyPort = r.policyPort || 843),
														(this.rememberUpgrade = r.rememberUpgrade || !1),
														(this.binaryType = null),
														(this.onlyBinaryUpgrades = r.onlyBinaryUpgrades),
														(this.perMessageDeflate = !1 !== r.perMessageDeflate && (r.perMessageDeflate || {})),
														!0 === this.perMessageDeflate && (this.perMessageDeflate = {}),
														this.perMessageDeflate && null == this.perMessageDeflate.threshold && (this.perMessageDeflate.threshold = 1024),
														(this.pfx = r.pfx || null),
														(this.key = r.key || null),
														(this.passphrase = r.passphrase || null),
														(this.cert = r.cert || null),
														(this.ca = r.ca || null),
														(this.ciphers = r.ciphers || null),
														(this.rejectUnauthorized = void 0 === r.rejectUnauthorized || r.rejectUnauthorized),
														(this.forceNode = !!r.forceNode);
													var n = 'object' == (0, l.default)(t) && t;
													n.global === n && (r.extraHeaders && Object.keys(r.extraHeaders).length > 0 && (this.extraHeaders = r.extraHeaders), r.localAddress && (this.localAddress = r.localAddress)), (this.id = null), (this.upgrades = null), (this.pingInterval = null), (this.pingTimeout = null), (this.pingIntervalTimer = null), (this.pingTimeoutTimer = null), this.open();
												}
												(e.exports = f),
													(f.priorWebsocketSuccess = !1),
													i(f.prototype),
													(f.protocol = s.protocol),
													(f.Socket = f),
													(f.Transport = r(5)),
													(f.transports = r(6)),
													(f.parser = r(1)),
													(f.prototype.createTransport = function (e) {
														o('creating transport "%s"', e);
														var t = (function (e) {
															var t = {};
															for (var r in e) e.hasOwnProperty(r) && (t[r] = e[r]);
															return t;
														})(this.query);
														(t.EIO = s.protocol), (t.transport = e);
														var r = this.transportOptions[e] || {};
														this.id && (t.sid = this.id);
														var i = new n[e]({
															query: t,
															socket: this,
															agent: r.agent || this.agent,
															hostname: r.hostname || this.hostname,
															port: r.port || this.port,
															secure: r.secure || this.secure,
															path: r.path || this.path,
															forceJSONP: r.forceJSONP || this.forceJSONP,
															jsonp: r.jsonp || this.jsonp,
															forceBase64: r.forceBase64 || this.forceBase64,
															enablesXDR: r.enablesXDR || this.enablesXDR,
															timestampRequests: r.timestampRequests || this.timestampRequests,
															timestampParam: r.timestampParam || this.timestampParam,
															policyPort: r.policyPort || this.policyPort,
															pfx: r.pfx || this.pfx,
															key: r.key || this.key,
															passphrase: r.passphrase || this.passphrase,
															cert: r.cert || this.cert,
															ca: r.ca || this.ca,
															ciphers: r.ciphers || this.ciphers,
															rejectUnauthorized: r.rejectUnauthorized || this.rejectUnauthorized,
															perMessageDeflate: r.perMessageDeflate || this.perMessageDeflate,
															extraHeaders: r.extraHeaders || this.extraHeaders,
															forceNode: r.forceNode || this.forceNode,
															localAddress: r.localAddress || this.localAddress,
															requestTimeout: r.requestTimeout || this.requestTimeout,
															protocols: r.protocols || void 0,
														});
														return o('transport: ', i), i;
													}),
													(f.prototype.open = function () {
														var e;
														if (this.rememberUpgrade && f.priorWebsocketSuccess && -1 !== this.transports.indexOf('websocket')) e = 'websocket';
														else {
															if (0 === this.transports.length) {
																var t = this;
																return void setTimeout(function () {
																	t.emit('error', 'No transports available');
																}, 0);
															}
															e = this.transports[0];
														}
														this.readyState = 'opening';
														try {
															e = this.createTransport(e);
														} catch (e) {
															return this.transports.shift(), void this.open();
														}
														e.open(), this.setTransport(e);
													}),
													(f.prototype.setTransport = function (e) {
														o('setting transport %s', e.name);
														var t = this;
														this.transport && (o('clearing existing transport %s', this.transport.name), this.transport.removeAllListeners()),
															(this.transport = e),
															e
																.on('drain', function () {
																	t.onDrain();
																})
																.on('packet', function (e) {
																	t.onPacket(e);
																})
																.on('error', function (e) {
																	t.onError(e);
																})
																.on('close', function () {
																	t.onClose('transport close');
																});
													}),
													(f.prototype.probe = function (e) {
														o('probing transport "%s"', e);
														var t = this.createTransport(e, { probe: 1 }),
															r = !1,
															n = this;
														function i() {
															if (n.onlyBinaryUpgrades) {
																var i = !this.supportsBinary && n.transport.supportsBinary;
																r = r || i;
															}
															r ||
																(o('probe transport "%s" opened', e),
																t.send([{ type: 'ping', data: 'probe' }]),
																t.once('packet', function (i) {
																	if (!r)
																		if ('pong' === i.type && 'probe' === i.data) {
																			if ((o('probe transport "%s" pong', e), (n.upgrading = !0), n.emit('upgrading', t), !t)) return;
																			(f.priorWebsocketSuccess = 'websocket' === t.name),
																				o('pausing current transport "%s"', n.transport.name),
																				n.transport.pause(function () {
																					r || ('closed' !== n.readyState && (o('changing transport and sending upgrade packet'), d(), n.setTransport(t), t.send([{ type: 'upgrade' }]), n.emit('upgrade', t), (t = null), (n.upgrading = !1), n.flush()));
																				});
																		} else {
																			o('probe transport "%s" failed', e);
																			var a = new Error('probe error');
																			(a.transport = t.name), n.emit('upgradeError', a);
																		}
																}));
														}
														function a() {
															r || ((r = !0), d(), t.close(), (t = null));
														}
														function s(r) {
															var i = new Error('probe error: ' + r);
															(i.transport = t.name), a(), o('probe transport "%s" failed because of error: %s', e, r), n.emit('upgradeError', i);
														}
														function u() {
															s('transport closed');
														}
														function c() {
															s('socket closed');
														}
														function l(e) {
															t && e.name !== t.name && (o('"%s" works - aborting "%s"', e.name, t.name), a());
														}
														function d() {
															t.removeListener('open', i), t.removeListener('error', s), t.removeListener('close', u), n.removeListener('close', c), n.removeListener('upgrading', l);
														}
														(f.priorWebsocketSuccess = !1), t.once('open', i), t.once('error', s), t.once('close', u), this.once('close', c), this.once('upgrading', l), t.open();
													}),
													(f.prototype.onOpen = function () {
														if ((o('socket open'), (this.readyState = 'open'), (f.priorWebsocketSuccess = 'websocket' === this.transport.name), this.emit('open'), this.flush(), 'open' === this.readyState && this.upgrade && this.transport.pause)) {
															o('starting upgrade probes');
															for (var e = 0, t = this.upgrades.length; e < t; e++) this.probe(this.upgrades[e]);
														}
													}),
													(f.prototype.onPacket = function (e) {
														if ('opening' === this.readyState || 'open' === this.readyState || 'closing' === this.readyState)
															switch ((o('socket receive: type "%s", data "%s"', e.type, e.data), this.emit('packet', e), this.emit('heartbeat'), e.type)) {
																case 'open':
																	this.onHandshake(JSON.parse(e.data));
																	break;
																case 'pong':
																	this.setPing(), this.emit('pong');
																	break;
																case 'error':
																	var t = new Error('server error');
																	(t.code = e.data), this.onError(t);
																	break;
																case 'message':
																	this.emit('data', e.data), this.emit('message', e.data);
															}
														else o('packet received with socket readyState "%s"', this.readyState);
													}),
													(f.prototype.onHandshake = function (e) {
														this.emit('handshake', e),
															(this.id = e.sid),
															(this.transport.query.sid = e.sid),
															(this.upgrades = this.filterUpgrades(e.upgrades)),
															(this.pingInterval = e.pingInterval),
															(this.pingTimeout = e.pingTimeout),
															this.onOpen(),
															'closed' !== this.readyState && (this.setPing(), this.removeListener('heartbeat', this.onHeartbeat), this.on('heartbeat', this.onHeartbeat));
													}),
													(f.prototype.onHeartbeat = function (e) {
														clearTimeout(this.pingTimeoutTimer);
														var t = this;
														t.pingTimeoutTimer = setTimeout(function () {
															'closed' !== t.readyState && t.onClose('ping timeout');
														}, e || t.pingInterval + t.pingTimeout);
													}),
													(f.prototype.setPing = function () {
														var e = this;
														clearTimeout(e.pingIntervalTimer),
															(e.pingIntervalTimer = setTimeout(function () {
																o('writing ping packet - expecting pong within %sms', e.pingTimeout), e.ping(), e.onHeartbeat(e.pingTimeout);
															}, e.pingInterval));
													}),
													(f.prototype.ping = function () {
														var e = this;
														this.sendPacket('ping', function () {
															e.emit('ping');
														});
													}),
													(f.prototype.onDrain = function () {
														this.writeBuffer.splice(0, this.prevBufferLen), (this.prevBufferLen = 0), 0 === this.writeBuffer.length ? this.emit('drain') : this.flush();
													}),
													(f.prototype.flush = function () {
														'closed' !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length && (o('flushing %d packets in socket', this.writeBuffer.length), this.transport.send(this.writeBuffer), (this.prevBufferLen = this.writeBuffer.length), this.emit('flush'));
													}),
													(f.prototype.write = f.prototype.send =
														function (e, t, r) {
															return this.sendPacket('message', e, t, r), this;
														}),
													(f.prototype.sendPacket = function (e, t, r, n) {
														if (('function' == typeof t && ((n = t), (t = void 0)), 'function' == typeof r && ((n = r), (r = null)), 'closing' !== this.readyState && 'closed' !== this.readyState)) {
															(r = r || {}).compress = !1 !== r.compress;
															var i = { type: e, data: t, options: r };
															this.emit('packetCreate', i), this.writeBuffer.push(i), n && this.once('flush', n), this.flush();
														}
													}),
													(f.prototype.close = function () {
														if ('opening' === this.readyState || 'open' === this.readyState) {
															this.readyState = 'closing';
															var e = this;
															this.writeBuffer.length
																? this.once('drain', function () {
																		this.upgrading ? n() : t();
																  })
																: this.upgrading
																? n()
																: t();
														}
														function t() {
															e.onClose('forced close'), o('socket closing - telling transport to close'), e.transport.close();
														}
														function r() {
															e.removeListener('upgrade', r), e.removeListener('upgradeError', r), t();
														}
														function n() {
															e.once('upgrade', r), e.once('upgradeError', r);
														}
														return this;
													}),
													(f.prototype.onError = function (e) {
														o('socket error %j', e), (f.priorWebsocketSuccess = !1), this.emit('error', e), this.onClose('transport error', e);
													}),
													(f.prototype.onClose = function (e, t) {
														('opening' !== this.readyState && 'open' !== this.readyState && 'closing' !== this.readyState) ||
															(o('socket close with reason: "%s"', e),
															clearTimeout(this.pingIntervalTimer),
															clearTimeout(this.pingTimeoutTimer),
															this.transport.removeAllListeners('close'),
															this.transport.close(),
															this.transport.removeAllListeners(),
															(this.readyState = 'closed'),
															(this.id = null),
															this.emit('close', e, t),
															(this.writeBuffer = []),
															(this.prevBufferLen = 0));
													}),
													(f.prototype.filterUpgrades = function (e) {
														for (var t = [], r = 0, n = e.length; r < n; r++) ~a(this.transports, e[r]) && t.push(e[r]);
														return t;
													});
											}).call(this, r(0));
										},
										function (e, t, r) {
											(e.exports = r(28)), (e.exports.parser = r(1));
										},
									]));
							},
							function (e, t, r) {
								(function (e) {
									var n = r(2),
										i = r(9),
										o = Object.prototype.toString,
										a = 'function' == typeof e.Blob || '[object BlobConstructor]' === o.call(e.Blob),
										s = 'function' == typeof e.File || '[object FileConstructor]' === o.call(e.File);
									(t.deconstructPacket = function (e) {
										var t = [],
											r = e.data,
											o = e;
										return (
											(o.data = (function e(t, r) {
												if (!t) return t;
												if (i(t)) {
													var o = { _placeholder: !0, num: r.length };
													return r.push(t), o;
												}
												if (n(t)) {
													for (var a = new Array(t.length), s = 0; s < t.length; s++) a[s] = e(t[s], r);
													return a;
												}
												if ('object' == (0, l.default)(t) && !(t instanceof Date)) {
													a = {};
													for (var u in t) a[u] = e(t[u], r);
													return a;
												}
												return t;
											})(r, t)),
											(o.attachments = t.length),
											{ packet: o, buffers: t }
										);
									}),
										(t.reconstructPacket = function (e, t) {
											return (
												(e.data = (function e(t, r) {
													if (!t) return t;
													if (t && t._placeholder) return r[t.num];
													if (n(t)) for (var i = 0; i < t.length; i++) t[i] = e(t[i], r);
													else if ('object' == (0, l.default)(t)) for (var o in t) t[o] = e(t[o], r);
													return t;
												})(e.data, t)),
												(e.attachments = void 0),
												e
											);
										}),
										(t.removeBlobs = function (e, t) {
											var r = 0,
												o = e;
											!(function e(u, c, f) {
												if (!u) return u;
												if ((a && u instanceof Blob) || (s && u instanceof File)) {
													r++;
													var d = new FileReader();
													(d.onload = function () {
														f ? (f[c] = this.result) : (o = this.result), --r || t(o);
													}),
														d.readAsArrayBuffer(u);
												} else if (n(u)) for (var h = 0; h < u.length; h++) e(u[h], h, u);
												else if ('object' == (0, l.default)(u) && !i(u)) for (var p in u) e(u[p], p, u);
											})(o),
												r || t(o);
										});
								}).call(this, r(1));
							},
							function (e, t) {
								var r = /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
									n = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'anchor'];
								e.exports = function (e) {
									var t = e,
										i = e.indexOf('['),
										o = e.indexOf(']');
									-1 != i && -1 != o && (e = e.substring(0, i) + e.substring(i, o).replace(/:/g, ';') + e.substring(o, e.length));
									for (var a = r.exec(e || ''), s = {}, u = 14; u--; ) s[n[u]] = a[u] || '';
									return -1 != i && -1 != o && ((s.source = t), (s.host = s.host.substring(1, s.host.length - 1).replace(/;/g, ':')), (s.authority = s.authority.replace('[', '').replace(']', '').replace(/;/g, ':')), (s.ipv6uri = !0)), s;
								};
							},
							function (e, t, r) {
								(function (t) {
									var n = r(21),
										i = r(0)('socket.io-client:url');
									e.exports = function (e, r) {
										var o = e;
										(r = r || t.location),
											null == e && (e = r.protocol + '//' + r.host),
											'string' == typeof e && ('/' === e.charAt(0) && (e = '/' === e.charAt(1) ? r.protocol + e : r.host + e), /^(https?|wss?):\/\//.test(e) || (i('protocol-less url %s', e), (e = void 0 !== r ? r.protocol + '//' + e : 'https://' + e)), i('parse %s', e), (o = n(e))),
											o.port || (/^(http|ws)$/.test(o.protocol) ? (o.port = '80') : /^(http|ws)s$/.test(o.protocol) && (o.port = '443')),
											(o.path = o.path || '/');
										var a = -1 !== o.host.indexOf(':') ? '[' + o.host + ']' : o.host;
										return (o.id = o.protocol + '://' + a + ':' + o.port), (o.href = o.protocol + '://' + a + (r && r.port === o.port ? '' : ':' + o.port)), o;
									};
								}).call(this, r(1));
							},
							function (e, t, r) {
								var n = r(22),
									i = r(4),
									o = r(8),
									a = r(0)('socket.io-client');
								e.exports = t = u;
								var s = (t.managers = {});
								function u(e, t) {
									'object' == (0, l.default)(e) && ((t = e), (e = void 0)), (t = t || {});
									var r,
										i = n(e),
										u = i.source,
										c = i.id,
										f = i.path,
										d = s[c] && f in s[c].nsps;
									return t.forceNew || t['force new connection'] || !1 === t.multiplex || d ? (a('ignoring socket cache for %s', u), (r = o(u, t))) : (s[c] || (a('new io instance for %s', u), (s[c] = o(u, t))), (r = s[c])), i.query && !t.query && (t.query = i.query), r.socket(i.path, t);
								}
								(t.protocol = i.protocol), (t.connect = u), (t.Manager = r(8)), (t.Socket = r(7));
							},
							function (e, t, r) {
								e.exports = r(23);
							},
						]);
					});
				},
				{ '@babel/runtime/helpers/assertThisInitialized': 3, '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/getPrototypeOf': 13, '@babel/runtime/helpers/inherits': 14, '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/possibleConstructorReturn': 20, '@babel/runtime/helpers/typeof': 24 },
			],
			29: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Base64 = void 0);
					var n = (function () {
						var e,
							t,
							r,
							n = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'],
							i = [];
						for (r = 0; r < n.length; r += 1) i[n[r]] = r;
						var o = function (r) {
								(e = r), (t = 0);
							},
							a = function () {
								if (!e) return -1;
								if (t >= e.length) return -1;
								var r = 255 & e.charCodeAt(t);
								return (t += 1), r;
							},
							s = function () {
								if (!e) return -1;
								for (;;) {
									if (t >= e.length) return -1;
									var r = e.charAt(t);
									if (((t += 1), i[r])) return i[r];
									if ('A' === r) return 0;
								}
							},
							u = function (e) {
								return 1 === (e = e.toString(16)).length && (e = '0' + e), (e = '%' + e), unescape(e);
							};
						return {
							encodeBase64: function (e) {
								var t, r;
								o(e), (t = '');
								var i = new Array(3);
								for (r = !1; !r && -1 !== (i[0] = a()); ) (i[1] = a()), (i[2] = a()), (t += n[i[0] >> 2]), -1 !== i[1] ? ((t += n[((i[0] << 4) & 48) | (i[1] >> 4)]), -1 !== i[2] ? ((t += n[((i[1] << 2) & 60) | (i[2] >> 6)]), (t += n[63 & i[2]])) : ((t += n[(i[1] << 2) & 60]), (t += '='), (r = !0))) : ((t += n[(i[0] << 4) & 48]), (t += '='), (t += '='), (r = !0));
								return t;
							},
							decodeBase64: function (e) {
								var t, r;
								o(e), (t = '');
								var n = new Array(4);
								for (r = !1; !r && -1 !== (n[0] = s()) && -1 !== (n[1] = s()); ) (n[2] = s()), (n[3] = s()), (t += u(((n[0] << 2) & 255) | (n[1] >> 4))), -1 !== n[2] ? ((t += u(((n[1] << 4) & 255) | (n[2] >> 2))), -1 !== n[3] ? (t += u(((n[2] << 6) & 255) | n[3])) : (r = !0)) : (r = !0);
								return t;
							},
						};
					})();
					r.Base64 = n;
				},
				{},
			],
			30: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoEncodingParameters = r.VideoCodecParameters = r.VideoCodec = r.AudioEncodingParameters = r.AudioCodecParameters = r.AudioCodec = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck'));
					r.AudioCodec = { PCMU: 'pcmu', PCMA: 'pcma', OPUS: 'opus', G722: 'g722', ISAC: 'iSAC', ILBC: 'iLBC', AAC: 'aac', AC3: 'ac3', NELLYMOSER: 'nellymoser' };
					var a = (0, i.default)(function e(t, r, n) {
						(0, o.default)(this, e), (this.name = t), (this.channelCount = r), (this.clockRate = n);
					});
					r.AudioCodecParameters = a;
					var s = (0, i.default)(function e(t, r, n, i) {
						(0, o.default)(this, e), (this.codec = t), (this.minBitrate = n), (this.maxBitrate = r), (this.startBitrate = i);
					});
					r.AudioEncodingParameters = s;
					r.VideoCodec = { VP8: 'vp8', VP9: 'vp9', H264: 'h264', H265: 'h265' };
					var u = (0, i.default)(function e(t, r) {
						(0, o.default)(this, e), (this.name = t), (this.profile = r);
					});
					r.VideoCodecParameters = u;
					var c = (0, i.default)(function e(t, r, n, i) {
						(0, o.default)(this, e), (this.codec = t), (this.minBitrate = n), (this.maxBitrate = r), (this.startBitrate = i);
					});
					r.VideoEncodingParameters = c;
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/interopRequireDefault': 15 },
			],
			31: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.WarningEvent = r.ReconnectingEvent = r.QualityReportStatus = r.QualityReportEvent = r.QualityReport = r.QualityInfo = r.QualityCriterion = r.MuteEvent = r.MessageEvent = r.IRtcEvent = r.EventDispatcher = r.ErrorEvent = r.ConnectionSummary = void 0);
					var i = n(e('@babel/runtime/helpers/inherits')),
						o = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						a = n(e('@babel/runtime/helpers/getPrototypeOf')),
						s = n(e('@babel/runtime/helpers/classCallCheck')),
						u = n(e('@babel/runtime/helpers/createClass'));
					function c(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, a.default)(e);
							if (t) {
								var i = (0, a.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, o.default)(this, r);
						};
					}
					var l = (function () {
						function e() {
							(0, s.default)(this, e), (this.spec = {}), (this.spec.dispatcher = {}), (this.spec.dispatcher.eventListeners = {});
						}
						return (
							(0, u.default)(e, [
								{
									key: 'addEventListener',
									value: function (e, t) {
										void 0 === this.spec.dispatcher.eventListeners[e] && (this.spec.dispatcher.eventListeners[e] = []), this.spec.dispatcher.eventListeners[e].push(t);
									},
								},
								{
									key: 'getEventListener',
									value: function (e) {
										return void 0 === this.spec.dispatcher.eventListeners[e] ? [] : this.spec.dispatcher.eventListeners[e];
									},
								},
								{
									key: 'removeEventListener',
									value: function (e, t) {
										if (this.spec.dispatcher.eventListeners[e]) {
											var r = this.spec.dispatcher.eventListeners[e].indexOf(t);
											-1 !== r && this.spec.dispatcher.eventListeners[e].splice(r, 1);
										}
									},
								},
								{
									key: 'clearEventListener',
									value: function (e) {
										this.spec.dispatcher.eventListeners[e] = [];
									},
								},
								{
									key: 'dispatchEvent',
									value: function (e) {
										this.spec.dispatcher.eventListeners[e.type] &&
											this.spec.dispatcher.eventListeners[e.type].map(function (t) {
												t(e);
											});
									},
								},
							]),
							e
						);
					})();
					r.EventDispatcher = l;
					var f = (0, u.default)(function e(t) {
						(0, s.default)(this, e), (this.type = t);
					});
					r.IRtcEvent = f;
					var d = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).attempt = n), i;
						}
						return (0, u.default)(r);
					})(f);
					r.ReconnectingEvent = d;
					var h = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).origin = n.origin), (i.message = n.message), (i.to = n.to), i;
						}
						return (0, u.default)(r);
					})(f);
					r.MessageEvent = h;
					var p = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).error = n.error), i;
						}
						return (0, u.default)(r);
					})(f);
					r.ErrorEvent = p;
					var v = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).kind = n.kind), i;
						}
						return (0, u.default)(r);
					})(f);
					r.MuteEvent = v;
					r.QualityReportStatus = { GOOD: 'good', BAD: 'bad' };
					var y = (0, u.default)(function e(t, r, n, i, o) {
						(0, s.default)(this, e), (this.packetloss = t), (this.delay = r), (this.frameRate = n), (this.audioBitrate = i), (this.videoBitrate = o);
					});
					r.QualityInfo = y;
					var m = (0, u.default)(function e(t) {
						(0, s.default)(this, e), (this.packetloss = t);
					});
					r.QualityCriterion = m;
					var b = (0, u.default)(function e(t, r, n, i) {
						(0, s.default)(this, e), (this.status = t), (this.quality = r), (this.info = n), (this.criterion = i);
					});
					r.QualityReport = b;
					var g = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).report = n), i;
						}
						return (0, u.default)(r);
					})(f);
					r.QualityReportEvent = g;
					var w = (0, u.default)(function e(t, r) {
						(0, s.default)(this, e), (this.frozenPercentage = t), (this.averageDelay = r);
					});
					r.ConnectionSummary = w;
					var _ = (function (e) {
						(0, i.default)(r, e);
						var t = c(r);
						function r(e, n) {
							var i;
							return (0, s.default)(this, r), ((i = t.call(this, e)).info = n), i;
						}
						return (0, u.default)(r);
					})(f);
					r.WarningEvent = _;
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/getPrototypeOf': 13, '@babel/runtime/helpers/inherits': 14, '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/possibleConstructorReturn': 20 },
			],
			32: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 });
					var n = e('./mediastream-factory.js');
					Object.keys(n).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === n[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return n[e];
									},
								}));
					});
					var i = e('./stream.js');
					Object.keys(i).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === i[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return i[e];
									},
								}));
					});
					var o = e('./mediaformat.js');
					Object.keys(o).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === o[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return o[e];
									},
								}));
					});
					var a = e('./publication.js');
					Object.keys(a).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === a[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return a[e];
									},
								}));
					});
					var s = e('./recorder.js');
					Object.keys(s).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							((e in r && r[e] === s[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return s[e];
									},
								}));
					});
				},
				{ './mediaformat.js': 34, './mediastream-factory.js': 35, './publication.js': 36, './recorder.js': 37, './stream.js': 39 },
			],
			33: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.default = void 0);
					var n = (function () {
						var e = function () {},
							t = { TRACE: 0, DEBUG: 1, INFO: 2, WARNING: 3, ERROR: 4, NONE: 5 },
							r = console || window.console;
						t.log = r.log.bind(r);
						var n = function () {};
						n.toString = function () {
							return new Date().toISOString();
						};
						var i = function (e) {
								return 'function' == typeof r[e] ? r[e].bind(r, '%s - %s:', n, e) : r.log.bind(r, '%s - %s:', n, e);
							},
							o = function (r) {
								(t.trace = r <= 0 ? i('trace') : e), (t.debug = r <= 1 ? i('log') : e), (t.info = r <= 2 ? i('info') : e), (t.warning = r <= 3 ? i('warn') : e), (t.error = r <= 4 ? i('error') : e);
							};
						return o(1), (t.setLogLevel = o), t;
					})();
					r.default = n;
				},
				{},
			],
			34: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoSourceInfo = r.TrackKind = r.ScreenType = r.Resolution = r.AudioSourceInfo = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck'));
					r.AudioSourceInfo = { MIC: 'mic', SCREENCAST: 'screen-cast', FILE: 'file', MIXED: 'mixed' };
					r.VideoSourceInfo = { CAMERA: 'camera', SCREENCAST: 'screen-cast', FILE: 'file', MIXED: 'mixed' };
					r.TrackKind = { AUDIO: 'audio', VIDEO: 'video', AUDIO_AND_VIDEO: 'av' };
					var a = (0, i.default)(function e(t, r) {
						(0, o.default)(this, e), (this.width = t), (this.height = r);
					});
					r.Resolution = a;
					r.ScreenType = { SCREEN: 'screen', WINDOW: 'window', TAB: 'tab' };
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/interopRequireDefault': 15 },
			],
			35: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoTrackConstraints = r.StreamConstraints = r.MediaStreamFactory = r.AudioTrackConstraints = void 0);
					var o = n(e('@babel/runtime/helpers/slicedToArray')),
						a = n(e('@babel/runtime/helpers/typeof')),
						s = n(e('@babel/runtime/helpers/createClass')),
						u = n(e('@babel/runtime/helpers/classCallCheck')),
						c = h(e('./utils.js')),
						l = n(e('./logger.js')),
						f = h(e('./mediaformat.js'));
					function d(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (d = function (e) {
							return e ? r : t;
						})(e);
					}
					function h(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = d(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					var p = (0, s.default)(function e(t) {
						if (((0, u.default)(this, e), t !== f.AudioSourceInfo.MIC && t !== f.AudioSourceInfo.SCREENCAST && t !== f.AudioSourceInfo.FILE && t !== f.AudioSourceInfo.MIXED)) throw new TypeError('Invalid source.');
						(this.source = t), (this.deviceId = void 0), (this.file = void 0), (this.loop = void 0);
					});
					r.AudioTrackConstraints = p;
					var v = (0, s.default)(function e(t) {
						if (((0, u.default)(this, e), t !== f.VideoSourceInfo.CAMERA && t !== f.VideoSourceInfo.SCREENCAST && t !== f.VideoSourceInfo.FILE && t !== f.VideoSourceInfo.MIXED)) throw new TypeError('Invalid source.');
						(this.source = t), (this.deviceId = void 0), (this.resolution = void 0), (this.frameRate = void 0), (this.allowScreenTypes = void 0), (this.cropElement = void 0);
					});
					r.VideoTrackConstraints = v;
					var y = (0, s.default)(function e() {
						var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0],
							r = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
						(0, u.default)(this, e), (this.audio = t), (this.video = r);
					});
					function m(e) {
						return 'object' === (0, a.default)(e.video) && e.video.source === f.VideoSourceInfo.SCREENCAST;
					}
					r.StreamConstraints = y;
					var b = (function () {
						function e() {
							(0, u.default)(this, e);
						}
						return (
							(0, s.default)(e, null, [
								{
									key: 'isSupportCropScreen',
									value: function () {
										return 'function' == typeof CropTarget;
									},
								},
								{
									key: 'createMediaStream',
									value: function (e) {
										if ('object' !== (0, a.default)(e) || (!e.audio && !e.video)) return Promise.reject(new TypeError('Invalid constrains'));
										if (!m(e) && 'object' === (0, a.default)(e.audio) && e.audio.source === f.AudioSourceInfo.SCREENCAST) return Promise.reject(new TypeError('Cannot share screen without video.'));
										if (
											(m(e) && c.isChrome() && (!c.sysInfo().runtime.version || c.sysInfo().runtime.version < '72') && (l.default.warning('Screen sharing can not support Chrome version prior to 72,need Extension while Chrome version is below 72'), l.default.info(c.sysInfo().runtime.version)),
											m(e) && c.isFirefox() && (!c.sysInfo().runtime.version || c.sysInfo().runtime.version < 66))
										)
											return Promise.reject(new TypeError('Screen sharing can not support Firefox version prior to 66'));
										if (m(e) && c.isSafari() && (!c.sysInfo().runtime.version || c.sysInfo().runtime.version < 13)) return Promise.reject(new TypeError('Screen sharing can not support Safari version prior to 13'));
										if (m(e) && 'object' === (0, a.default)(e.audio) && e.audio.source !== f.AudioSourceInfo.SCREENCAST) return Promise.reject(new TypeError('Cannot capture video from screen cast while capture audio from other source.'));
										if (!e.audio && !e.video) return Promise.reject(new TypeError('At least one of audio and video must be requested.'));
										var t = Object.create({});
										if (
											('object' === (0, a.default)(e.audio) && e.audio.source === f.AudioSourceInfo.MIC
												? ((t.audio = Object.create({})), c.isEdge() ? (t.audio.deviceId = e.audio.deviceId) : (t.audio.deviceId = { exact: e.audio.deviceId }))
												: 'object' === (0, a.default)(e.audio)
												? e.audio.source === f.AudioSourceInfo.SCREENCAST
													? (t.audio = !0)
													: e.audio.source === f.AudioSourceInfo.FILE
													? (t.audio = !1)
													: (t.audio = e.audio)
												: (t.audio = !!e.audio),
											'object' === (0, a.default)(e.video)
												? ((t.video = Object.create({})),
												  'number' == typeof e.video.frameRate && (t.video.frameRate = e.video.frameRate),
												  e.video.resolution &&
														e.video.resolution.width &&
														e.video.resolution.height &&
														(e.video.source === f.VideoSourceInfo.SCREENCAST ? ((t.video.width = e.video.resolution.width), (t.video.height = e.video.resolution.height)) : ((t.video.width = Object.create({})), (t.video.width.exact = e.video.resolution.width), (t.video.height = Object.create({})), (t.video.height.exact = e.video.resolution.height))),
												  'string' == typeof e.video.deviceId && (t.video.deviceId = { exact: e.video.deviceId }),
												  c.isFirefox() && e.video.source === f.VideoSourceInfo.SCREENCAST && (t.video.mediaSource = 'screen'),
												  e.video.facingMode && (t.video.facingMode = e.video.facingMode))
												: (t.video = e.video),
											m(e))
										) {
											if ((l.default.info('screen share mediaConstraints', e), c.isChrome() && 'function' != typeof navigator.mediaDevices.getDisplayMedia)) {
												if (!e.extensionId) return Promise.reject(new TypeError('Extension ID must be specified for screen sharing on Chrome.'));
												var r = ['screen', 'window', 'tab'];
												return (
													e.audio && r.push('audio'),
													new Promise(function (t, n) {
														chrome.runtime.sendMessage(e.extensionId, { getStream: r }, function (r) {
															if (void 0 === r) return n(new Error(chrome.runtime.lastError.message));
															e.audio && 'object' !== (0, a.default)(r.options) && l.default.warning('Desktop sharing with audio requires the latest Chrome extension. Your audio constraints will be ignored.');
															var i = Object.create({});
															e.audio && 'object' === (0, a.default)(r.options) && (r.options.canRequestAudioTrack ? (i.audio = { mandatory: { chromeMediaSource: 'desktop', chromeMediaSourceId: r.streamId } }) : l.default.warning('Sharing screen with audio was not selected by user.')),
																(i.video = Object.create({})),
																(i.video.mandatory = Object.create({})),
																(i.video.mandatory.chromeMediaSource = 'desktop'),
																(i.video.mandatory.chromeMediaSourceId = r.streamId),
																e.video.resolution && ((i.video.mandatory.maxHeight = i.video.mandatory.minHeight = e.video.resolution.height), (i.video.mandatory.maxWidth = i.video.mandatory.minWidth = e.video.resolution.width)),
																e.video.frameRate && ((i.video.mandatory.minFrameRate = e.video.frameRate), (i.video.mandatory.maxFrameRate = e.video.frameRate)),
																t(navigator.mediaDevices.getUserMedia(i));
														});
													})
												);
											}
											return (
												c.isSafari() && t.video && (t.video.width && delete t.video.width, t.video.height && delete t.video.height),
												'function' == typeof navigator.mediaDevices.getDisplayMedia
													? e && e.video && e.video.cropElement && CropTarget
														? ((t.preferCurrentTab = !0),
														  new Promise(function (r, n) {
																CropTarget.fromElement(e.video.cropElement).then(function (e) {
																	var i = 'only support current tab!';
																	navigator.mediaDevices
																		.getDisplayMedia(t)
																		.then(function (t) {
																			var a = t.getVideoTracks(),
																				s = (0, o.default)(a, 1)[0];
																			if (!s.cropTo)
																				return (
																					t.getTracks().forEach(function (e) {
																						e.stop();
																					}),
																					n(i)
																				);
																			s.cropTo(e)
																				.then(function () {
																					return r(t);
																				})
																				.catch(function (e) {
																					return (
																						t.getTracks().forEach(function (e) {
																							e.stop();
																						}),
																						e.message ? n(e.message) : n(i)
																					);
																				});
																		})
																		.catch(function (e) {
																			return n(e);
																		});
																});
														  }))
														: e.video && e.video.allowScreenTypes && Array.isArray(e.video.allowScreenTypes)
														? new Promise(function (r, n) {
																navigator.mediaDevices
																	.getDisplayMedia(t)
																	.then(function (t) {
																		if (e.video.allowScreenTypes.includes(f.ScreenType.SCREEN) && e.video.allowScreenTypes.includes(f.ScreenType.WINDOW) && e.video.allowScreenTypes.includes(f.ScreenType.TAB)) return r(t);
																		if (t.getVideoTracks().length > 0) {
																			var i = t.getVideoTracks()[0].label;
																			return c.isChrome() || c.isEdge()
																				? (i.match(/^screen/g) && e.video.allowScreenTypes.includes(f.ScreenType.SCREEN)) || (i.match(/^window/g) && e.video.allowScreenTypes.includes(f.ScreenType.WINDOW)) || (i.match(/^web\-contents\-media\-stream/g) && e.video.allowScreenTypes.includes(f.ScreenType.TAB))
																					? r(t)
																					: (t.getTracks().forEach(function (e) {
																							e.stop();
																					  }),
																					  n('You do not have permission to create this type of media stream.'))
																				: c.isFirefox()
																				? (i.match(/^Primary Monitor/g) && e.video.allowScreenTypes.includes(f.ScreenType.SCREEN)) || (!i.match(/^Primary Monitor/g) && !i.match(/— Mozilla Firefox$/g) && e.video.allowScreenTypes.includes(f.ScreenType.WINDOW)) || (i.match(/— Mozilla Firefox$/g) && e.video.allowScreenTypes.includes(f.ScreenType.TAB))
																					? r(t)
																					: (t.getTracks().forEach(function (e) {
																							e.stop();
																					  }),
																					  n('You do not have permission to create this type of media stream.'))
																				: c.isSafari()
																				? i.match(/^Screen/g) && e.video.allowScreenTypes.includes(f.ScreenType.SCREEN)
																					? r(t)
																					: (t.getTracks().forEach(function (e) {
																							e.stop();
																					  }),
																					  n('You do not have permission to create this type of media stream.'))
																				: (l.default.warning('unsupported allowScreenTypes on this browser.'), r(t));
																		}
																		return r(t);
																	})
																	.catch(function (e) {
																		return n(e);
																	});
														  })
														: navigator.mediaDevices.getDisplayMedia(t)
													: navigator.mediaDevices.getUserMedia(t)
											);
										}
										if (!1 === t.audio && !1 === t.video && e.audio.source === f.AudioSourceInfo.FILE) {
											var n = new MediaStream(),
												i = window.AudioContext || window.webkitAudioContext || !1;
											if (i) {
												var s = new i(),
													u = s.createMediaStreamDestination(),
													d = s.createBufferSource(),
													h = u.stream,
													p = new FileReader();
												(p.onload = function (t) {
													s.decodeAudioData(t.target.result, function (t) {
														var r = t;
														(d.buffer = r), d.connect(u), (d.loop = e.audio.loop), d.start(0);
													});
												}),
													p.readAsArrayBuffer(e.audio.file),
													n.addTrack(h.getAudioTracks()[0]);
											}
											return Promise.resolve(n);
										}
										var v = navigator.mediaDevices.getUserMedia(t);
										if (e.audio.source === f.AudioSourceInfo.FILE) {
											l.default.debug('createMediaStream FILE');
											var y = window.AudioContext || window.webkitAudioContext || !1;
											if (y) {
												var b = new y(),
													g = b.createMediaStreamDestination(),
													w = b.createBufferSource(),
													_ = g.stream,
													k = new FileReader();
												(k.onload = function (t) {
													b.decodeAudioData(t.target.result, function (t) {
														var r = t;
														(w.buffer = r), w.connect(g), (w.loop = e.audio.loop), w.start(0);
													});
												}),
													k.readAsArrayBuffer(e.audio.file),
													v.then(function (e) {
														e.addTrack(_.getAudioTracks()[0]);
													});
											}
										}
										return v;
									},
								},
							]),
							e
						);
					})();
					r.MediaStreamFactory = b;
				},
				{ './logger.js': 33, './mediaformat.js': 34, './utils.js': 40, '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/slicedToArray': 22, '@babel/runtime/helpers/typeof': 24 },
			],
			36: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoPublicationSettings = r.RemoteQosMonitorMode = r.PublishOptions = r.PublicationSettings = r.Publication = r.AudioPublicationSettings = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						a = n(e('@babel/runtime/helpers/inherits')),
						s = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/get')),
						c = n(e('@babel/runtime/helpers/getPrototypeOf')),
						l = n(e('@babel/runtime/helpers/classPrivateFieldSet')),
						f = n(e('@babel/runtime/helpers/classPrivateFieldGet')),
						d = n(e('@babel/runtime/helpers/createClass')),
						h = n(e('@babel/runtime/helpers/classCallCheck')),
						p = m(e('./utils.js')),
						v = (m(e('./mediaformat.js')), e('../base/event.js'));
					function y(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (y = function (e) {
							return e ? r : t;
						})(e);
					}
					function m(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = y(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function b(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, c.default)(e);
							if (t) {
								var i = (0, c.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, s.default)(this, r);
						};
					}
					function g(e, t, r) {
						!(function (e, t) {
							if (t.has(e)) throw new TypeError('Cannot initialize the same private elements twice on an object');
						})(e, t),
							t.set(e, r);
					}
					var w = (0, d.default)(function e(t) {
						(0, h.default)(this, e), (this.codec = t);
					});
					r.AudioPublicationSettings = w;
					var _ = (0, d.default)(function e(t, r, n, i, o) {
						(0, h.default)(this, e), (this.codec = t), (this.resolution = r), (this.frameRate = n), (this.bitrate = i), (this.keyFrameInterval = o);
					});
					r.VideoPublicationSettings = _;
					var k = (0, d.default)(function e(t, r) {
						(0, h.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.PublicationSettings = k;
					var E = { High: 0, Low: 1, Off: 2 };
					r.RemoteQosMonitorMode = E;
					var S = new WeakMap(),
						R = new WeakMap(),
						C = new WeakMap(),
						A = new WeakMap(),
						O = new WeakMap(),
						P = new WeakMap(),
						T = new WeakMap(),
						j = new WeakMap(),
						x = new WeakMap(),
						I = new WeakMap(),
						M = new WeakMap(),
						B = new WeakMap(),
						D = new WeakMap(),
						L = new WeakMap(),
						N = new WeakMap(),
						U = new WeakMap(),
						q = new WeakMap(),
						W = (function (e) {
							(0, a.default)(r, e);
							var t = b(r);
							function r(e, n, i, a, s, u, c, d, y) {
								var m;
								return (
									(0, h.default)(this, r),
									(m = t.call(this)),
									g((0, o.default)(m), S, { writable: !0, value: null }),
									g((0, o.default)(m), R, { writable: !0, value: null }),
									g((0, o.default)(m), C, { writable: !0, value: null }),
									g((0, o.default)(m), A, { writable: !0, value: null }),
									g((0, o.default)(m), O, { writable: !0, value: null }),
									g((0, o.default)(m), P, { writable: !0, value: null }),
									g((0, o.default)(m), T, { writable: !0, value: null }),
									g((0, o.default)(m), j, { writable: !0, value: null }),
									g((0, o.default)(m), x, { writable: !0, value: null }),
									g((0, o.default)(m), I, { writable: !0, value: null }),
									g((0, o.default)(m), M, { writable: !0, value: null }),
									g((0, o.default)(m), B, { writable: !0, value: null }),
									g((0, o.default)(m), D, { writable: !0, value: null }),
									g((0, o.default)(m), L, { writable: !0, value: 0 }),
									g((0, o.default)(m), N, { writable: !0, value: 0 }),
									g((0, o.default)(m), U, { writable: !0, value: 0 }),
									g((0, o.default)(m), q, { writable: !0, value: E.Low }),
									Object.defineProperty((0, o.default)(m), 'id', { configurable: !1, writable: !1, value: e || p.createUuid() }),
									(m.stop = function () {
										return (0, f.default)((0, o.default)(m), R) && (clearInterval((0, f.default)((0, o.default)(m), R)), (0, l.default)((0, o.default)(m), R, null), (0, l.default)((0, o.default)(m), C, null), (0, l.default)((0, o.default)(m), A, null)), n();
									}),
									(m.getStats = i),
									(m.getConnectionStats = a),
									(m.getConnectionSummary = function () {
										return (0, f.default)((0, o.default)(m), L) > 0 ? new v.ConnectionSummary(Math.round((100 * (0, f.default)((0, o.default)(m), U)) / (0, f.default)((0, o.default)(m), L)), Math.round((0, f.default)((0, o.default)(m), N) / (0, f.default)((0, o.default)(m), L))) : new v.ConnectionSummary(0, 0);
									}),
									(m.mute = s),
									(m.unmute = u),
									(m.updateMedia = c),
									(m.updateMediaTrack = d),
									(m.setRemoteQosMonitorMode = function (e) {
										(0, l.default)((0, o.default)(m), q, e);
									}),
									(0, l.default)((0, o.default)(m), S, y),
									(0, l.default)((0, o.default)(m), P, function () {
										m.getStats().then(function (e) {
											e.forEach(function (e) {
												'true' === e.googActiveConnection && 'googCandidatePair' === e.type && e.googRtt
													? (0, l.default)((0, o.default)(m), T, Number(e.googRtt))
													: 'candidate-pair' === e.type && 'succeeded' === e.state && e.currentRoundTripTime
													? (0, l.default)((0, o.default)(m), T, 1e3 * Number(e.currentRoundTripTime))
													: 'remote-inbound-rtp' === e.type && e.roundTripTime && (0, l.default)((0, o.default)(m), T, 1e3 * Number(e.roundTripTime));
											});
										});
									}),
									(m.onRemoteConnectionStatus = function (e) {
										(0, l.default)((0, o.default)(m), D, e);
									}),
									m
								);
							}
							return (
								(0, d.default)(r, [
									{
										key: 'addEventListener',
										value: function (e, t) {
											var n = this;
											if (((0, u.default)((0, c.default)(r.prototype), 'addEventListener', this).call(this, e, t), 'quality-report' === e && !(0, f.default)(this, R))) {
												(0, l.default)(
													this,
													R,
													setInterval(function () {
														(0, f.default)(n, P).call(n),
															n.getConnectionStats().then(function (t) {
																var r = 0,
																	i = 0,
																	o = 0,
																	a = 0,
																	s = 0,
																	u = 0;
																if (
																	(t.audio && ((a = t.audio.bytesSent), (i += t.audio.packetsSent), !t.video && t.audio.remote && t.audio.remote.packetsLost && (r += t.audio.remote.packetsLost)),
																	t.video &&
																		((i = 0),
																		t.video.nackCount ? (r += t.video.nackCount) : t.video.packetsLost && (r += t.video.packetsLost),
																		(i += t.video.packetsSent),
																		t.video.retransmittedPacketsSent && ((i += t.video.retransmittedPacketsSent), (r = t.video.retransmittedPacketsSent)),
																		(o = t.video.framesSent),
																		(s = t.video.bytesSent),
																		(u = t.video.totalEncodeTime)),
																	(0, f.default)(n, A))
																) {
																	var c,
																		d = 0;
																	(d = 'connected' !== t.connectionState ? 100 : i - (0, f.default)(n, A) == 0 ? 100 : Math.round((100 * (r - (0, f.default)(n, C))) / (i - (0, f.default)(n, A)))),
																		(0, l.default)(n, j, 30),
																		o - (0, f.default)(n, x) > 0 && (0, l.default)(n, j, (0, f.default)(n, j) + Math.round((1e3 * (u - (0, f.default)(n, B))) / (o - (0, f.default)(n, x)))),
																		(0, l.default)(n, j, (0, f.default)(n, j) + (0, f.default)(n, T)),
																		(0, l.default)(n, N, (0, f.default)(n, N) + (0, f.default)(n, j));
																	var h,
																		p = 0;
																	if ((o > 0 && ((0, f.default)(n, x) && (p = Math.round((1e3 * (o - (0, f.default)(n, x))) / 3e3)), (0, l.default)(n, x, o)), t.video && p < 10 && (0, f.default)(n, L) > 1)) (0, l.default)(n, U, ((h = (0, f.default)(n, U)), h++, h));
																	var y = 0;
																	a > 0 && ((0, f.default)(n, I) && (y = Math.round((8 * (a - (0, f.default)(n, I))) / 3e3)), (0, l.default)(n, I, a));
																	var m = 0;
																	s > 0 && ((0, f.default)(n, M) && (m = Math.round((8 * (s - (0, f.default)(n, M))) / 3e3)), (0, l.default)(n, M, s));
																	var b = new v.QualityInfo(d, (0, f.default)(n, j), p, y, m),
																		g = new v.QualityCriterion(1),
																		w = 100 - b.packetloss * g.packetloss,
																		_ = w >= 85 ? v.QualityReportStatus.GOOD : v.QualityReportStatus.BAD,
																		k = new v.QualityReport(_, w, b, g),
																		R = new v.QualityReportEvent(e, k);
																	n.dispatchEvent(R),
																		(0, l.default)(n, L, ((c = (0, f.default)(n, L)), c++, c)),
																		(((0, f.default)(n, q) === E.Low && (0, f.default)(n, O) != _) || (0, f.default)(n, q) === E.High) && (0, f.default)(n, S).call(n, 'custom', { to: 'all', message: { type: 'stream', event: 'quality-report', id: n.id, report: k } }),
																		(0, l.default)(n, O, _);
																}
																(0, l.default)(n, C, r), (0, l.default)(n, A, i), (0, l.default)(n, B, u);
															});
													}, 3e3)
												);
											}
										},
									},
									{
										key: 'removeEventListener',
										value: function (e, t) {
											(0, u.default)((0, c.default)(r.prototype), 'removeEventListener', this).call(this, e, t),
												'quality-report' === e &&
													0 === (0, u.default)((0, c.default)(r.prototype), 'getEventListener', this).call(this, e).length &&
													(0, f.default)(this, R) &&
													(clearInterval((0, f.default)(this, R)), (0, l.default)(this, R, null), (0, l.default)(this, C, null), (0, l.default)(this, A, null), (0, l.default)(this, T, null), (0, l.default)(this, x, null), (0, l.default)(this, I, null), (0, l.default)(this, M, null));
										},
									},
									{
										key: 'clearEventListener',
										value: function (e) {
											(0, u.default)((0, c.default)(r.prototype), 'clearEventListener', this).call(this, e),
												'quality-report' === e && (0, f.default)(this, R) && (clearInterval((0, f.default)(this, R)), (0, l.default)(this, R, null), (0, l.default)(this, C, null), (0, l.default)(this, A, null), (0, l.default)(this, T, null), (0, l.default)(this, x, null), (0, l.default)(this, I, null), (0, l.default)(this, M, null));
										},
									},
								]),
								r
							);
						})(v.EventDispatcher);
					r.Publication = W;
					var F = (0, d.default)(function e(t, r) {
						(0, h.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.PublishOptions = F;
				},
				{
					'../base/event.js': 31,
					'./mediaformat.js': 34,
					'./utils.js': 40,
					'@babel/runtime/helpers/assertThisInitialized': 3,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/classPrivateFieldGet': 8,
					'@babel/runtime/helpers/classPrivateFieldSet': 9,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/get': 12,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			37: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Recorder = r.RecordOptions = r.LocalRecorder = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						a = n(e('@babel/runtime/helpers/inherits')),
						s = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf')),
						c = n(e('@babel/runtime/helpers/createClass')),
						l = n(e('@babel/runtime/helpers/classCallCheck')),
						f = n(e('./logger.js')),
						d = y(e('../base/event.js')),
						h = y(e('../base/stream.js')),
						p = e('./event.js');
					function v(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (v = function (e) {
							return e ? r : t;
						})(e);
					}
					function y(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = v(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function m(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, s.default)(this, r);
						};
					}
					var b = (0, c.default)(function e(t, r, n, i, o) {
						(0, l.default)(this, e), (this.mimeType = t), (this.audioBitsPerSecond = r), (this.videoBitsPerSecond = n), (this.width = 'number' == typeof i && isFinite(i) ? i : 0), (this.height = 'number' == typeof o && isFinite(o) ? o : 0);
					});
					r.RecordOptions = b;
					var g = (function (e) {
						(0, a.default)(r, e);
						var t = m(r);
						function r(e, n) {
							var i;
							if (((0, l.default)(this, r), (i = t.call(this)), !(e && e instanceof h.Stream))) throw new TypeError('Invalid stream.');
							if (!(n && n instanceof b)) throw new TypeError('Invalid options.');
							return (
								Object.defineProperty((0, o.default)(i), 'stream', { configurable: !1, writable: !0, value: e }),
								Object.defineProperty((0, o.default)(i), 'options', { configurable: !1, writable: !1, value: n }),
								(i.start = function () {
									(i.blobs = []),
										void 0 === i.mediaRecorder &&
											((i.mediaRecorder = new MediaRecorder(i.stream.mediaStream, i.options)),
											(i.mediaRecorder.ondataavailable = function (e) {
												e.data && e.data.size > 0 && (i.blobs.push(e.data), f.default.trace('onstart recording...'));
											}),
											(i.mediaRecorder.onstart = function () {
												f.default.debug('onstart recording...');
												var e = new d.IRtcEvent('onstart');
												i.dispatchEvent(e);
											}),
											(i.mediaRecorder.onstop = function (e) {
												f.default.debug('onstop recording:', e);
												var t = new d.IRtcEvent('onstop');
												i.dispatchEvent(t);
											}),
											(i.mediaRecorder.onpause = function () {
												f.default.debug('onpause recording...');
												var e = new d.IRtcEvent('onpause');
												i.dispatchEvent(e);
											}),
											(i.mediaRecorder.onresume = function () {
												f.default.debug('onresume recording...');
												var e = new d.IRtcEvent('onresume');
												i.dispatchEvent(e);
											}),
											(i.mediaRecorder.onerror = function (e) {
												f.default.debug('onerror recording:', e);
												var t = new d.IRtcEvent('onerror');
												i.dispatchEvent(t);
											})),
										'recording' !== i.mediaRecorder.state && 'paused' !== i.mediaRecorder.state && i.mediaRecorder.start();
								}),
								(i.pause = function () {
									i.mediaRecorder && i.mediaRecorder.pause();
								}),
								(i.resume = function () {
									i.mediaRecorder && 'paused' === i.mediaRecorder.state && i.mediaRecorder.resume();
								}),
								(i.stop = function () {
									i.mediaRecorder && 'inactive' !== i.mediaRecorder.state && i.mediaRecorder.stop();
								}),
								(i.restart = function () {
									i.resume(), i.stop(), i.start();
								}),
								(i.download = function (e) {
									var t = new Blob(i.blobs, { type: i.options.mimeType }),
										r = document.createElement('a');
									r.style.display = 'none';
									var n = URL.createObjectURL(t);
									(r.href = n),
										(r.download = Date.now() + e + '.webm'),
										document.body.appendChild(r),
										r.click(),
										setTimeout(function () {
											URL.revokeObjectURL(n), document.body.removeChild(r);
										}, 100);
								}),
								(i.updateStream = function (e) {
									(i.stream = e),
										(i.mediaRecorder = new MediaRecorder(i.stream.mediaStream, i.options)),
										(i.mediaRecorder.ondataavailable = function (e) {
											e.data && e.data.size > 0 && (i.blobs.push(e.data), f.default.trace('onstart recording...'));
										}),
										(i.mediaRecorder.onstart = function () {
											f.default.debug('onstart recording...');
											var e = new d.IRtcEvent('onstart');
											i.dispatchEvent(e);
										}),
										(i.mediaRecorder.onstop = function (e) {
											f.default.debug('onstop recording:', e);
											var t = new d.IRtcEvent('onstop');
											i.dispatchEvent(t);
										}),
										(i.mediaRecorder.onpause = function () {
											f.default.debug('onpause recording...');
											var e = new d.IRtcEvent('onpause');
											i.dispatchEvent(e);
										}),
										(i.mediaRecorder.onresume = function () {
											f.default.debug('onresume recording...');
											var e = new d.IRtcEvent('onresume');
											i.dispatchEvent(e);
										}),
										(i.mediaRecorder.onerror = function (e) {
											f.default.debug('onerror recording:', e);
											var t = new d.IRtcEvent('onerror');
											i.dispatchEvent(t);
										}),
										i.mediaRecorder.start();
								}),
								i
							);
						}
						return (
							(0, c.default)(r, null, [
								{
									key: 'isTypeSupported',
									value: function (e) {
										return MediaRecorder.isTypeSupported(e);
									},
								},
								{
									key: 'getSupportedType',
									value: function () {
										return [
											'video/webm',
											'audio/webm',
											'video/webm;codecs=vp8',
											'video/webm;codecs=vp9',
											'video/webm;codecs=daala',
											'video/webm;codecs=h264',
											'video/webm;codecs=avc1',
											'audio/webm;codecs=opus',
											'video/mpeg',
											'video/webm;codecs=vp8,opus',
											'video/webm;codecs=vp9,opus',
											'video/webm;codecs=vp8,vp9,opus',
											'video/webm;codecs=h264,opus',
											'video/webm;codecs=h264,vp9,opus',
											'video/x-matroska;codecs=avc1',
										].filter(function (e) {
											return MediaRecorder.isTypeSupported(e);
										});
									},
								},
							]),
							r
						);
					})(p.EventDispatcher);
					r.LocalRecorder = g;
					var w = (function (e) {
						(0, a.default)(r, e);
						var t = m(r);
						function r(e, n, i) {
							var o;
							if (((0, l.default)(this, r), !e && !n)) throw new TypeError('Invalid stream.');
							if (!(i && i instanceof b)) throw new TypeError('Invalid options.');
							var a = {},
								s = document.createElement('canvas'),
								u = s.getContext('2d'),
								c = document.createElement('video');
							function f(e) {
								(c.srcObject = e), (c.muted = !0), (c.volume = 0);
								var t = e.getVideoTracks()[0].getSettings().width,
									r = e.getVideoTracks()[0].getSettings().height;
								(!i || i.width <= 0 || i.height <= 0) && ((i.width = t), (i.height = r)), t / i.width > r / i.height ? ((c.width = i.width), (c.height = (r * i.width) / t)) : ((c.width = (t * i.height) / r), (c.height = i.height)), c.play(), (s.width = i.width), (s.height = i.height);
							}
							f(e.mediaStream), (s.stream = s.captureStream(25));
							var d,
								h =
									((d = new Blob(
										[
											'(' +
												function () {
													var e,
														t = self;
													t.addEventListener('message', function (r) {
														var n = r.data;
														'start' === n
															? (e = setInterval(function () {
																	return t.postMessage('message');
															  }, 40))
															: 'end' === n && void 0 !== e && clearInterval(e);
													});
												}.toString() +
												')()',
										],
										{ type: 'text/javascript' }
									)),
									new Worker(window.URL.createObjectURL(d)));
							h.postMessage('start'),
								(h.onmessage = function (e) {
									u.drawImage(c, (s.width - c.width) / 2, (s.height - c.height) / 2, c.width, c.height);
								});
							var p = window.AudioContext || window.webkitAudioContext || !1;
							if (!p) throw new TypeError('Invalid AudioContext.');
							var v = new p(),
								y = v.createMediaStreamDestination(),
								m = new MediaStream(),
								g = y.stream;
							n.forEach(function (e) {
								var t = v.createMediaStreamSource(e.mediaStream);
								(a[e.id] = t), t.connect(y);
							}),
								m.addTrack(g.getAudioTracks()[0]),
								m.addTrack(s.stream.getVideoTracks()[0]);
							var w = new LocalStream(m, new StreamSourceInfo('mic', 'camera'));
							return (
								((o = t.call(this, w, i)).updateVideo = function (e) {
									if (!e) throw new TypeError('Invalid stream.');
									f(e.mediaStream);
								}),
								(o.addAudio = function (e) {
									if (!e) throw new TypeError('Invalid stream.');
									e.forEach(function (e) {
										if (!a[e.id]) {
											var t = v.createMediaStreamSource(e.mediaStream);
											(a[e.id] = t), t.connect(y);
										}
									});
								}),
								(o.removeAudio = function (e) {
									if (!e) throw new TypeError('Invalid stream.');
									e.forEach(function (e) {
										a[e.id] && (a[e.id].disconnect(y), delete a[e.id]);
									});
								}),
								(o.stop = function () {
									h.postMessage('end'),
										u.clearRect(0, 0, s.width, s.height),
										s.stream &&
											(s.stream.getTracks().forEach(function (e) {
												return e.stop();
											}),
											(s.stream = null)),
										c.pause(),
										(c.srcObject = null),
										o.mediaRecorder && 'inactive' !== o.mediaRecorder.state && o.mediaRecorder.stop();
								}),
								o
							);
						}
						return (0, c.default)(r);
					})(g);
					r.Recorder = w;
				},
				{
					'../base/event.js': 31,
					'../base/stream.js': 39,
					'./event.js': 31,
					'./logger.js': 33,
					'@babel/runtime/helpers/assertThisInitialized': 3,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			38: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.enableAudioNack = function (e) {
							var t = e.split('\r\n'),
								r = l(t, 'm=', 'audio');
							if (null == r) return e;
							var n = l(t, 'm=', 'video'),
								i = n;
							(null == n || n < r) && (i = t.length);
							for (var o = r; o < i; ++o)
								if (0 === t[o].indexOf('a=rtpmap')) {
									var a = d(t[o]);
									null == l(t, 'a=rtcp-fb:' + a + ' ', 'nack') && (t.splice(o + 1, 0, 'a=rtcp-fb:' + a + ' nack'), i++, o++);
								}
							return (e = t.join('\r\n'));
						}),
						(r.reorderCodecs = function (e, t, r) {
							if (!r || 0 === r.length) return e;
							r = 'audio' === t ? r.concat(h) : r.concat(p);
							var n = e.split('\r\n'),
								o = l(n, 'm=', t);
							if (null === o) return e;
							var a = n[o].split(' ');
							a.splice(0, 3);
							var u,
								c = [],
								y = i(r);
							try {
								for (y.s(); !(u = y.n()).done; )
									for (var m = u.value, b = 0; b < n.length; b++) {
										var g = f(n, b, -1, 'a=rtpmap', m);
										if (null !== g) {
											var w = d(n[g]);
											w && (c.push(w), (b = g));
										}
									}
							} catch (e) {
								y.e(e);
							} finally {
								y.f();
							}
							(c = (function (e, t) {
								var r,
									n = i(t);
								try {
									for (n.s(); !(r = n.n()).done; ) {
										var o = r.value,
											a = l(e, 'a=fmtp', 'apt=' + o);
										if (null !== a) {
											var u = s(e[a]);
											t.push(u.pt);
										}
									}
								} catch (e) {
									n.e(e);
								} finally {
									n.f();
								}
								return t;
							})(n, c)),
								(n[o] = (function (e, t) {
									var r = e.split(' ').slice(0, 3);
									return (r = r.concat(t)).join(' ');
								})(n[o], c));
							var _,
								k = i(a);
							try {
								for (k.s(); !(_ = k.n()).done; ) {
									var E = _.value;
									-1 === c.indexOf(E) && (n = v(n, E));
								}
							} catch (e) {
								k.e(e);
							} finally {
								k.f();
							}
							return (e = n.join('\r\n'));
						}),
						(r.setMaxBitrate = function (e, t) {
							var r,
								n = i(t);
							try {
								for (n.s(); !(r = n.n()).done; ) {
									var o = r.value;
									o.maxBitrate && (e = a(e, o.codec.name, 'x-google-max-bitrate', o.maxBitrate.toString()));
								}
							} catch (e) {
								n.e(e);
							} finally {
								n.f();
							}
							return e;
						}),
						(r.setMinBitrate = function (e, t) {
							var r,
								n = i(t);
							try {
								for (n.s(); !(r = n.n()).done; ) {
									var o = r.value;
									o.minBitrate && (e = a(e, o.codec.name, 'x-google-min-bitrate', o.minBitrate.toString()));
								}
							} catch (e) {
								n.e(e);
							} finally {
								n.f();
							}
							return e;
						}),
						(r.setStartBitrate = function (e, t) {
							var r,
								n = i(t);
							try {
								for (n.s(); !(r = n.n()).done; ) {
									var o = r.value;
									o.startBitrate && (e = a(e, o.codec.name, 'x-google-start-bitrate', o.startBitrate.toString()));
								}
							} catch (e) {
								n.e(e);
							} finally {
								n.f();
							}
							return e;
						});
					n(e('./logger.js'));
					function i(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return o(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return o(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i,
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var a,
							s = !0,
							u = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (s = e.done), e;
							},
							e: function (e) {
								(u = !0), (a = e);
							},
							f: function () {
								try {
									s || null == r.return || r.return();
								} finally {
									if (u) throw a;
								}
							},
						};
					}
					function o(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function a(e, t, r, n) {
						var i = e.split('\r\n');
						i.length <= 1 && (i = e.split('\n'));
						var o = c(i, t),
							a = {};
						if (null === o) {
							var f = l(i, 'a=rtpmap', t);
							if (null === f) return e;
							var h = d(i[f]);
							(a.pt = h.toString()), (a.params = {}), (a.params[r] = n), i.splice(f + 1, 0, u(a));
						} else ((a = s(i[o])).params[r] = n), (i[o] = u(a));
						return (e = i.join('\r\n'));
					}
					function s(e) {
						var t = {},
							r = e.indexOf(' '),
							n = e.substring(r + 1).split(';'),
							i = new RegExp('a=fmtp:(\\d+)'),
							o = e.match(i);
						if (!o || 2 !== o.length) return null;
						t.pt = o[1];
						for (var a = {}, s = 0; s < n.length; ++s) {
							var u = n[s].split('=');
							2 === u.length && (a[u[0]] = u[1]);
						}
						return (t.params = a), t;
					}
					function u(e) {
						if (!e.hasOwnProperty('pt') || !e.hasOwnProperty('params')) return null;
						var t = e.pt,
							r = e.params,
							n = [],
							i = 0;
						for (var o in r) (n[i] = o + '=' + r[o]), ++i;
						return 0 === i ? null : 'a=fmtp:' + t.toString() + ' ' + n.join(';');
					}
					function c(e, t) {
						var r = (function (e, t) {
							var r = l(e, 'a=rtpmap', t);
							return r ? d(e[r]) : null;
						})(e, t);
						return r ? l(e, 'a=fmtp:' + r.toString()) : null;
					}
					function l(e, t, r) {
						return f(e, 0, -1, t, r);
					}
					function f(e, t, r, n, i) {
						for (var o = -1 !== r ? r : e.length, a = t; a < o; ++a) if (0 === e[a].indexOf(n) && (!i || -1 !== e[a].toLowerCase().indexOf(i.toLowerCase()))) return a;
						return null;
					}
					function d(e) {
						var t = new RegExp('a=rtpmap:(\\d+) [a-zA-Z0-9-]+\\/\\d+'),
							r = e.match(t);
						return r && 2 === r.length ? r[1] : null;
					}
					var h = ['CN', 'telephone-event'],
						p = ['red', 'ulpfec'];
					function v(e, t) {
						for (var r = new RegExp('a=(rtpmap|rtcp-fb|fmtp):' + t + '\\s'), n = e.length - 1; n > 0; n--) e[n].match(r) && e.splice(n, 1);
						return e;
					}
				},
				{ './logger.js': 33, '@babel/runtime/helpers/interopRequireDefault': 15 },
			],
			39: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.StreamUpdatedEvent = r.StreamSourceInfo = r.StreamEvent = r.Stream = r.SpeakingEvent = r.RemoteStream = r.LocalStream = r.ConnectionStateEvent = r.AsrEvent = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						a = n(e('@babel/runtime/helpers/inherits')),
						s = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf')),
						c = n(e('@babel/runtime/helpers/typeof')),
						l = n(e('@babel/runtime/helpers/createClass')),
						f = n(e('@babel/runtime/helpers/classCallCheck')),
						d = n(e('./logger.js')),
						h = e('./event.js'),
						p = m(e('./utils.js')),
						v = m(e('../base/event.js'));
					function y(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (y = function (e) {
							return e ? r : t;
						})(e);
					}
					function m(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = y(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function b(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, s.default)(this, r);
						};
					}
					function g(e, t) {
						return t.some(function (t) {
							return t === e;
						});
					}
					var w = (0, l.default)(function e(t, r) {
						if (((0, f.default)(this, e), 'string' == typeof t || void 0 === t)) {
							if (!g(t, [void 0, 'mic', 'screen-cast', 'file', 'mixed'])) throw new TypeError('Incorrect value for audioSourceInfo.source');
							this.audio = { source: t, status: !!t && 'active' };
						} else {
							if ('object' !== (0, c.default)(t)) throw new TypeError('Incorrect value for audioSourceInfo.source');
							if (!g(t.source, [void 0, 'mic', 'screen-cast', 'file', 'mixed'])) throw new TypeError('Incorrect value for audioSourceInfo.source');
							this.audio = { source: t.source, status: t.status };
						}
						if ('string' == typeof r || void 0 === r) {
							if (!g(r, [void 0, 'camera', 'screen-cast', 'file', 'mixed'])) throw new TypeError('Incorrect value for videoSourceInfo.source');
							this.video = { source: r, status: !!r && 'active' };
						} else {
							if ('object' !== (0, c.default)(r)) throw new TypeError('Incorrect value for videoSourceInfo.source');
							this.video = { source: r.source, status: r.status };
						}
					});
					r.StreamSourceInfo = w;
					var _ = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e, n, i) {
							var a;
							if (((0, f.default)(this, r), (a = t.call(this)), (e && !(e instanceof MediaStream)) || 'object' !== (0, c.default)(n))) throw new TypeError('Invalid stream or sourceInfo.');
							if (e && ((e.getAudioTracks().length > 0 && !n.audio) || (e.getVideoTracks().length > 0 && !n.video))) throw new TypeError('Missing audio source info or video source info.');
							return (
								Object.defineProperty((0, o.default)(a), 'mediaStream', { configurable: !1, writable: !0, value: e }),
								Object.defineProperty((0, o.default)(a), 'media', { configurable: !1, writable: !1, value: n }),
								Object.defineProperty((0, o.default)(a), 'attributes', { configurable: !0, writable: !1, value: i }),
								(a.disableVideo = function () {
									this.mediaStream.getVideoTracks().forEach(function (e) {
										e.enabled = !1;
									});
								}),
								(a.enableVideo = function () {
									this.mediaStream.getVideoTracks().forEach(function (e) {
										e.enabled = !0;
									});
								}),
								(a.disableAudio = function () {
									this.mediaStream.getAudioTracks().forEach(function (e) {
										e.enabled = !1;
									});
								}),
								(a.enableAudio = function () {
									this.mediaStream.getAudioTracks().forEach(function (e) {
										e.enabled = !0;
									});
								}),
								(a.attachAudio = function (e) {
									var t = this;
									return new Promise(function (r, n) {
										if (t.attachingAudio) {
											n(new Error('already in attch audio'));
										} else {
											if (((t.attachingAudio = !0), 'function' != typeof e)) {
												return n(new Error('callback is not a function')), void delete t.attachingAudio;
											}
											var i = 'irtc-audio-processor-'.concat(t.id),
												o =
													"\n          class IRtcAudioProcessor extends AudioWorkletProcessor {\n            constructor() {\n              super();\n            }\n  \n            process(inputs) {\n              const input = inputs[0];\n              if (input.length > 0) {\n                const inputChannel = input[0];\n                const inputChannelCount = inputs[0].length;\n                this.port.postMessage({buffer:inputChannel, channels:inputChannelCount});\n              }\n              return true;\n            }\n          }\n  \n          registerProcessor('".concat(
														i,
														"', IRtcAudioProcessor);"
													),
												a = new Blob([o], { type: 'application/javascript' }),
												s = URL.createObjectURL(a),
												u = new (window.AudioContext || window.webkitAudioContext)({ sampleRate: 16e3 });
											u.audioWorklet
												.addModule(s)
												.then(function () {
													var n = new AudioWorkletNode(u, i),
														o = u.createMediaStreamSource(t.mediaStream);
													o.connect(n),
														n.connect(u.destination),
														(n.port.onmessage = function (t) {
															(t.data.sampleBits = 32), (t.data.sampleRate = u.sampleRate), e();
														}),
														(t.audioAttacher = {
															stop: function () {
																o.disconnect(), n.disconnect(), u.close(), (t.audioAttacher = null);
															},
														}),
														r(t.audioAttacher),
														delete t.attachingAudio;
												})
												.catch(function (e) {
													d.default.WARNING('Error loading AudioWorklet module:', e), n(e), delete t.attachingAudio;
												});
										}
									});
								}),
								(a.close = function () {
									this.canvasInterval && (clearInterval(this.canvasInterval), delete this.canvasInterval, delete this.dumyStream),
										this.audioAttacher && this.audioAttacher.stop(),
										this.mediaStream.getTracks().forEach(function (e) {
											e.stop();
										});
								}),
								a
							);
						}
						return (0, l.default)(r);
					})(h.EventDispatcher);
					r.Stream = _;
					var k = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e, n, i, a) {
							var s, u, c;
							if (((0, f.default)(this, r), !(e instanceof MediaStream))) throw new TypeError('Invalid stream.');
							if (a) {
								var l = document.createElement('canvas');
								(l.width = 80), (l.height = 60);
								var h = l.getContext('2d');
								(u = setInterval(function () {
									(h.fillStyle = 'black'), h.fillRect(0, 0, l.width, l.height);
								}, 1e3)),
									(c = l.captureStream(1) || l.mozCaptureStream(1));
								var y = window.AudioContext || window.webkitAudioContext || !1;
								if (y) {
									var m = new y().createMediaStreamDestination().stream;
									c.addTrack(m.getAudioTracks()[0]);
								} else d.default.WARNING('Sorry, but the Web Audio API is not supported by your browser. Please, consider upgrading to the latest version or downloading Google Chrome or Mozilla Firefox');
								0 == e.getAudioTracks().length && ((n.audio.source = 'mic'), e.addTrack(c.getAudioTracks()[0])), 0 == e.getVideoTracks().length && ((n.video.source = 'camera'), e.addTrack(c.getVideoTracks()[0]));
							}
							return (
								(s = t.call(this, e, n, i)),
								a && ((s.canvasInterval = u), (s.dumyStream = c)),
								(e.oninactive = function () {
									var e = new v.IRtcEvent('ended');
									s.dispatchEvent(e);
								}),
								Object.defineProperty((0, o.default)(s), 'id', { configurable: !1, writable: !1, value: p.createUuid() }),
								Object.defineProperty((0, o.default)(s), 'upgradeable', { configurable: !1, writable: !1, value: !!a }),
								s
							);
						}
						return (0, l.default)(r);
					})(_);
					r.LocalStream = k;
					var E = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e, n, i, a, s) {
							var u;
							return (0, f.default)(this, r), (u = t.call(this, i, a, s)), Object.defineProperty((0, o.default)(u), 'id', { configurable: !1, writable: !1, value: e || p.createUuid() }), Object.defineProperty((0, o.default)(u), 'origin', { configurable: !1, writable: !1, value: n }), (u.settings = void 0), (u.capabilities = void 0), u;
						}
						return (0, l.default)(r);
					})(_);
					r.RemoteStream = E;
					var S = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e, n) {
							var i;
							return (0, f.default)(this, r), ((i = t.call(this, e)).stream = n.stream), i;
						}
						return (0, l.default)(r);
					})(h.IRtcEvent);
					r.StreamEvent = S;
					var R = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e) {
							var n;
							return (0, f.default)(this, r), ((n = t.call(this, 'updated')).info = e.info), n;
						}
						return (0, l.default)(r);
					})(h.IRtcEvent);
					r.StreamUpdatedEvent = R;
					var C = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e) {
							var n;
							return (0, f.default)(this, r), ((n = t.call(this, 'asr')).info = e.info), n;
						}
						return (0, l.default)(r);
					})(h.IRtcEvent);
					r.AsrEvent = C;
					var A = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e) {
							var n;
							return (0, f.default)(this, r), ((n = t.call(this, 'connectionstate')).state = e.state), n;
						}
						return (0, l.default)(r);
					})(h.IRtcEvent);
					r.ConnectionStateEvent = A;
					var O = (function (e) {
						(0, a.default)(r, e);
						var t = b(r);
						function r(e) {
							var n;
							return (0, f.default)(this, r), ((n = t.call(this, 'speaking')).info = e.info), n;
						}
						return (0, l.default)(r);
					})(h.IRtcEvent);
					r.SpeakingEvent = O;
				},
				{
					'../base/event.js': 31,
					'./event.js': 31,
					'./logger.js': 33,
					'./utils.js': 40,
					'@babel/runtime/helpers/assertThisInitialized': 3,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			40: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.createUuid = function () {
							return 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (e) {
								var t = (16 * Math.random()) | 0,
									r = 'x' === e ? t : (3 & t) | 8;
								return r.toString(16);
							});
						}),
						(r.getUserAgent = a),
						(r.isArray = function (e) {
							return 'object' == (0, i.default)(e) && e.constructor == Array;
						}),
						(r.isChrome = function () {
							return null !== a().match('Chrome');
						}),
						(r.isEdge = function () {
							return null !== a().match(/Edge\/(\d+).(\d+)$/);
						}),
						(r.isFirefox = function () {
							return null !== a().match('Firefox');
						}),
						(r.isSafari = s),
						(r.isString = function (e) {
							return 'string' == typeof e && e.constructor == String;
						}),
						(r.sysInfo = function () {
							var e = Object.create({});
							e.sdk = { version: o, type: 'JavaScript' };
							var t = a(),
								r = /Chrome\/([0-9\.]+)/.exec(t);
							if (r) e.runtime = { name: 'Chrome', version: r[1] };
							else if ((r = /Firefox\/([0-9\.]+)/.exec(t))) e.runtime = { name: 'Firefox', version: r[1] };
							else if ((r = /Edge\/([0-9\.]+)/.exec(t))) e.runtime = { name: 'Edge', version: r[1] };
							else if (s()) (r = /Version\/([0-9\.]+) Safari/.exec(t)), (e.runtime = { name: 'Safari' }), (e.runtime.version = r ? r[1] : 'Unknown');
							else {
								if ('object' === ('undefined' == typeof wx ? 'undefined' : (0, i.default)(wx)) && wx.openLocation && wx.getSystemInfoSync) {
									e.runtime = { name: 'weapp', version: wx.getSystemInfoSync().SDKVersion };
									var n = /(.*?)[ \t]*?([0-9\.]+)/.exec(wx.getSystemInfoSync().system);
									return (e.os = { name: n[1], version: n[2] }), (e.capabilities = { continualIceGathering: !1, unifiedPlan: !1, streamRemovable: !1 }), e;
								}
								e.runtime = { name: 'Unknown', version: 'Unknown' };
							}
							(r = /Windows NT ([0-9\.]+)/.exec(t))
								? (e.os = { name: 'Windows NT', version: r[1] })
								: (r = /Intel Mac OS X ([0-9_\.]+)/.exec(t))
								? (e.os = { name: 'Mac OS X', version: r[1].replace(/_/g, '.') })
								: (r = /iPhone OS ([0-9_\.]+)/.exec(t))
								? (e.os = { name: 'iPhone OS', version: r[1].replace(/_/g, '.') })
								: (r = /X11; Linux/.exec(t))
								? (e.os = { name: 'Linux', version: 'Unknown' })
								: (r = /Android( ([0-9\.]+))?/.exec(t))
								? (e.os = { name: 'Android', version: r[1] || 'Unknown' })
								: (r = /CrOS/.exec(t))
								? (e.os = { name: 'Chrome OS', version: 'Unknown' })
								: (e.os = { name: 'Unknown', version: 'Unknown' });
							return (e.capabilities = { continualIceGathering: !1, unifiedPlan: !0, streamRemovable: 'Firefox' !== e.runtime.name }), e;
						});
					var i = n(e('@babel/runtime/helpers/typeof')),
						o = '4.3.0';
					function a() {
						return window ? window.navigator.userAgent : '';
					}
					function s() {
						return /^((?!chrome|android).)*safari/i.test(a());
					}
				},
				{ '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/typeof': 24 },
			],
			41: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferencePeerConnectionChannel = void 0);
					var o = n(e('@babel/runtime/helpers/typeof')),
						a = n(e('@babel/runtime/helpers/classCallCheck')),
						s = n(e('@babel/runtime/helpers/createClass')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						l = n(e('@babel/runtime/helpers/getPrototypeOf')),
						f = n(e('../base/logger.js')),
						d = e('../base/event.js'),
						h = e('../base/mediaformat.js'),
						p = (e('../base/mediastream-factory'), e('../base/publication.js')),
						v = e('./subscription.js'),
						y = e('./error.js'),
						m = w(e('../base/utils.js')),
						b = w(e('../base/sdputils.js'));
					function g(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (g = function (e) {
							return e ? r : t;
						})(e);
					}
					function w(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = g(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function _(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return k(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return k(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i,
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							a = !0,
							s = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (a = e.done), e;
							},
							e: function (e) {
								(s = !0), (o = e);
							},
							f: function () {
								try {
									a || null == r.return || r.return();
								} finally {
									if (s) throw o;
								}
							},
						};
					}
					function k(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function E(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, l.default)(e);
							if (t) {
								var i = (0, l.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var S = (function (e) {
						(0, u.default)(r, e);
						var t = E(r);
						function r(e, n) {
							var i;
							return (
								(0, a.default)(this, r),
								((i = t.call(this))._config = e),
								(i._options = null),
								(i._signaling = n),
								(i._pc = null),
								(i._internalId = null),
								(i._pendingCandidates = []),
								(i._subscribePromise = null),
								(i._publishPromise = null),
								(i._subscribedStream = null),
								(i._publishedStream = null),
								(i._publication = null),
								(i._subscription = null),
								(i._disconnectTimer = null),
								(i._ended = !1),
								(i._stopped = !1),
								(i._iceRestarted = !1),
								(i._iceRestartNeeded = !1),
								(i._signaling.onreconnected = function () {
									f.default.trace('signaling.onreconnected'), i._iceRestart();
								}),
								i
							);
						}
						return (
							(0, s.default)(r, [
								{
									key: 'onMessage',
									value: function (e, t) {
										switch (e) {
											case 'progress':
												if ('soac' === t.status) this._sdpHandler(t.data);
												else if ('ready' === t.status) this._readyHandler();
												else if ('error' === t.status) this._errorHandler(t.data);
												else if ('ice-connected' === t.status) (this._iceRestarted = !1), f.default.trace('[' + this._internalId + ']ice-connected _iceRestarted=' + this._iceRestarted);
												else if ('need-ice-restart' === t.status) f.default.trace('need-ice-restart'), this._iceRestart();
												else if ('connection-status' === t.status) this._publication && this._publication.onRemoteConnectionStatus(t.data), this._subscription && this._subscription.onRemoteConnectionStatus(t.data);
												else if ('warn' === t.status) {
													var r = new d.WarningEvent('warn', t.data);
													this._subscription && this._subscription.dispatchEvent(r);
												}
												break;
											case 'stream':
												this._onStreamEvent(t);
												break;
											default:
												f.default.warning('Unknown notification from MCU.');
										}
									},
								},
								{
									key: 'publish',
									value: function (e, t) {
										var r = this;
										if (((void 0 !== t && null !== t) || (t = { audio: !!e.mediaStream.getAudioTracks().length, video: !!e.mediaStream.getVideoTracks().length }), 'object' !== (0, o.default)(t))) return Promise.reject(new TypeError('Options should be an object.'));
										(void 0 !== t.audio && null !== t.audio) || (t.audio = !!e.mediaStream.getAudioTracks().length), (void 0 !== t.video && null !== t.video) || (t.video = !!e.mediaStream.getVideoTracks().length);
										var n = !!t.audio,
											i = !!t.video;
										if ((n && 0 == e.mediaStream.getAudioTracks().length) || (i && 0 == e.mediaStream.getVideoTracks().length)) return Promise.reject(new y.ConferenceError('options.audio/video is inconsistent with tracks presented in the MediaStream.'));
										if (!1 === t.audio && !1 === t.video) return Promise.reject(new y.ConferenceError('Cannot publish a stream without audio and video.'));
										if ('object' === (0, o.default)(t.audio) && !Array.isArray(t.audio)) return Promise.reject(new TypeError('options.audio should be a boolean or an array.'));
										if (this._isIrtcEncodingParameters(t.audio)) {
											var a,
												s = _(t.audio);
											try {
												for (s.s(); !(a = s.n()).done; ) {
													var u = a.value;
													if (!u.codec || 'string' != typeof u.codec.name || 0 === u.codec.name.length || (void 0 !== u.maxBitrate && 'number' != typeof u.maxBitrate) || (void 0 !== u.minBitrate && 'number' != typeof u.minBitrate) || (void 0 !== u.startBitrate && 'number' != typeof u.startBitrate))
														return Promise.reject(new TypeError('options.audio has incorrect parameters.'));
												}
											} catch (e) {
												s.e(e);
											} finally {
												s.f();
											}
										}
										if ('object' === (0, o.default)(t.video) && !Array.isArray(t.video)) return Promise.reject(new TypeError('options.video should be a boolean or an array.'));
										if (this._isIrtcEncodingParameters(t.video)) {
											var c,
												l = _(t.video);
											try {
												for (l.s(); !(c = l.n()).done; ) {
													var h = c.value;
													if (!h.codec || 'string' != typeof h.codec.name || 0 === h.codec.name.length || (void 0 !== h.maxBitrate && 'number' != typeof h.maxBitrate) || (void 0 !== h.minBitrate && 'number' != typeof h.minBitrate) || (void 0 !== h.startBitrate && 'number' != typeof h.startBitrate) || (void 0 !== h.codec.profile && 'string' != typeof h.codec.profile))
														return Promise.reject(new TypeError('options.video has incorrect parameters.'));
												}
											} catch (e) {
												l.e(e);
											} finally {
												l.f();
											}
										}
										this._options = t;
										var p = {};
										if ((this._createPeerConnection(), e.mediaStream.getAudioTracks().length > 0 && !1 !== t.audio && null !== t.audio)) {
											if ((e.mediaStream.getAudioTracks().length > 1 && f.default.warning('Publishing a stream with multiple audio tracks is not fully supported.'), 'boolean' != typeof t.audio && 'object' !== (0, o.default)(t.audio))) return Promise.reject(new y.ConferenceError('Type of audio options should be boolean or an object.'));
											(p.audio = {}), (p.audio.source = e.media.audio.source), (p.audio.status = e.media.audio.status);
											var v,
												m = _(e.mediaStream.getAudioTracks());
											try {
												for (m.s(); !(v = m.n()).done; ) {
													var g = v.value;
													this._pc.addTrack(g, e.mediaStream);
												}
											} catch (e) {
												m.e(e);
											} finally {
												m.f();
											}
										} else p.audio = !1;
										if (e.mediaStream.getVideoTracks().length > 0 && !1 !== t.video && null !== t.video) {
											e.mediaStream.getVideoTracks().length > 1 && f.default.warning('Publishing a stream with multiple video tracks is not fully supported.'), (p.video = {}), (p.video.source = e.media.video.source), (p.video.status = e.media.video.status);
											var w = e.mediaStream.getVideoTracks()[0].getSettings();
											p.video.parameters = { resolution: { width: w.width ? w.width : 0, height: w.height ? w.height : 0 }, framerate: w.frameRate ? w.frameRate : 0 };
											var k,
												E = _(e.mediaStream.getVideoTracks());
											try {
												for (E.s(); !(k = E.n()).done; ) {
													var S = k.value;
													this._pc.addTrack(S, e.mediaStream);
												}
											} catch (e) {
												E.e(e);
											} finally {
												E.f();
											}
										} else p.video = !1;
										return (
											(this._publishedStream = e),
											this._signaling
												.sendSignalingMessage('publish', { media: p, attributes: e.attributes })
												.then(function (n) {
													var i,
														o = new d.MessageEvent('id', { message: n.id, origin: r._remoteId });
													r.dispatchEvent(o),
														(r._internalId = n.id),
														r._isAddTransceiverSupported() && (p.audio && e.mediaStream.getAudioTracks() > 0 && r._pc.addTransceiver('audio', { direction: 'sendonly' }), p.video && e.mediaStream.getVideoTracks() > 0 && r._pc.addTransceiver('video', { direction: 'sendonly' })),
														r._pc
															.createOffer()
															.then(function (e) {
																return t && (e.sdp = r._setRtpReceiverOptions(e.sdp, t)), e;
															})
															.then(function (e) {
																return (e.sdp = b.enableAudioNack(e.sdp)), (i = e), r._pc.setLocalDescription(e);
															})
															.then(function () {
																r._signaling.sendSignalingMessage('soac', { id: r._internalId, signaling: i });
															})
															.catch(function (e) {
																f.default.error('Failed to create offer or set SDP. Message: ' + e.message), r._unpublish(), r._rejectPromise(e), r._fireEndedEventOnPublicationOrSubscription();
															});
												})
												.catch(function (e) {
													r._unpublish(), r._rejectPromise(e), r._fireEndedEventOnPublicationOrSubscription();
												}),
											(this._callbackTimer = setTimeout(function () {
												r._unpublish(), r._rejectPromise(new y.ConferenceError('Publish timeout!')), r._fireEndedEventOnPublicationOrSubscription();
											}, 15e3)),
											new Promise(function (e, t) {
												r._publishPromise = { resolve: e, reject: t };
											})
										);
									},
								},
								{
									key: 'subscribe',
									value: function (e, t) {
										var r = this;
										if (((void 0 !== t && null !== t) || (t = { audio: !!e.capabilities.audio, video: !!e.capabilities.video }), void 0 !== e.mediaStream && null !== e.mediaStream)) return Promise.reject(new y.ConferenceError('The same remote stream has already been subscribed. Subcribe after it is unsubscribed.'));
										if ('object' !== (0, o.default)(t)) return Promise.reject(new TypeError('Options should be an object.'));
										if (
											((void 0 !== t.audio && null !== t.audio) || (t.audio = !!e.capabilities.audio),
											(void 0 !== t.video && null !== t.video) || (t.video = !!e.capabilities.video),
											(void 0 !== t.audio && 'object' !== (0, o.default)(t.audio) && 'boolean' != typeof t.audio && null !== t.audio) || (void 0 !== t.video && 'object' !== (0, o.default)(t.video) && 'boolean' != typeof t.video && null !== t.video))
										)
											return Promise.reject(new TypeError('Invalid options type.'));
										if ((t.audio && !e.capabilities.audio) || (t.video && !e.capabilities.video)) return Promise.reject(new y.ConferenceError('options.audio/video cannot be true or an object if there is no audio/video track in remote stream.'));
										if (!1 === t.audio && !1 === t.video) return Promise.reject(new y.ConferenceError('Cannot subscribe a stream without audio and video.'));
										this._options = t;
										var n = {};
										if (t.audio) {
											if ('object' === (0, o.default)(t.audio) && Array.isArray(t.audio.codecs) && 0 === t.audio.codecs.length) return Promise.reject(new TypeError('Audio codec cannot be an empty array.'));
											(n.audio = {}), (n.audio.from = e.id);
										} else n.audio = !1;
										if (t.video) {
											if ('object' === (0, o.default)(t.video) && Array.isArray(t.video.codecs) && 0 === t.video.codecs.length) return Promise.reject(new TypeError('Video codec cannot be an empty array.'));
											(n.video = {}),
												(n.video.from = e.id),
												(t.video.resolution || t.video.frameRate || (t.video.bitrateMultiplier && 1 !== t.video.bitrateMultiplier) || t.video.keyFrameInterval) &&
													(n.video.parameters = { resolution: t.video.resolution, framerate: t.video.frameRate, bitrate: t.video.bitrateMultiplier ? 'x' + t.video.bitrateMultiplier.toString() : void 0, keyFrameInterval: t.video.keyFrameInterval });
										} else n.video = !1;
										return (
											(this._subscribedStream = e),
											this._signaling
												.sendSignalingMessage('subscribe', { media: n })
												.then(function (e) {
													var i = new d.MessageEvent('id', { message: e.id, origin: r._remoteId });
													r.dispatchEvent(i), (r._internalId = e.id), r._createPeerConnection(), r._isAddTransceiverSupported() && (n.audio && r._pc.addTransceiver('audio', { direction: 'recvonly' }), n.video && r._pc.addTransceiver('video', { direction: 'recvonly' }));
													var o = { offerToReceiveAudio: !!t.audio, offerToReceiveVideo: !!t.video };
													r._isSafari() && (o = void 0),
														r._pc
															.createOffer(o)
															.then(
																function (e) {
																	(e.sdp = b.enableAudioNack(e.sdp)),
																		t && (e.sdp = r._setRtpReceiverOptions(e.sdp, t)),
																		r._pc.setLocalDescription(e).then(
																			function () {
																				r._signaling.sendSignalingMessage('soac', { id: r._internalId, signaling: e }).catch(function (e) {
																					f.default.warn('send sdp failed:' + e);
																				});
																			},
																			function (e) {
																				f.default.error('Set local description failed. Message: ' + JSON.stringify(e));
																			}
																		);
																},
																function (e) {
																	f.default.error('Create offer failed. Error info: ' + JSON.stringify(e));
																}
															)
															.catch(function (e) {
																f.default.error('Failed to create offer or set SDP. Message: ' + e.message), r._unsubscribe(), r._rejectPromise(e), r._fireEndedEventOnPublicationOrSubscription();
															});
												})
												.catch(function (e) {
													r._unsubscribe(), r._rejectPromise(e), r._fireEndedEventOnPublicationOrSubscription();
												}),
											(this._callbackTimer = setTimeout(function () {
												r._unsubscribe(), r._rejectPromise(new y.ConferenceError('Subscribe timeout!')), r._fireEndedEventOnPublicationOrSubscription();
											}, 15e3)),
											new Promise(function (e, t) {
												r._subscribePromise = { resolve: e, reject: t };
											})
										);
									},
								},
								{
									key: '_unpublish',
									value: function (e) {
										if ((this._callbackTimer && (clearTimeout(this._callbackTimer), (this._callbackTimer = null)), e)) {
											var t = new y.ConferenceError(e);
											this._publishPromise && (this._publishPromise.reject(t), (this._publishPromise = null));
										}
										this._stopped ||
											((this._stopped = !0),
											this._signaling.sendSignalingMessage('unpublish', { id: this._internalId }).catch(function (e) {
												f.default.warning('MCU returns negative ack for unpublishing, ' + e);
											}),
											this._fireEndedEventOnPublicationOrSubscription(),
											this._pc && 'closed' !== this._pc.signalingState && (this._pc.close(), (this._pc = null)));
									},
								},
								{
									key: '_unsubscribe',
									value: function (e) {
										if ((this._callbackTimer && (clearTimeout(this._callbackTimer), (this._callbackTimer = null)), e)) {
											var t = new y.ConferenceError(e);
											this._subscribePromise && (this._subscribePromise.reject(t), (this._subscribePromise = null));
										}
										this._stopped ||
											((this._subscribedStream.mediaStream = void 0),
											(this._stopped = !0),
											this._signaling.sendSignalingMessage('unsubscribe', { id: this._internalId }).catch(function (e) {
												f.default.warning('MCU returns negative ack for unsubscribing, ' + e);
											}),
											this._fireEndedEventOnPublicationOrSubscription(),
											this._pc && 'closed' !== this._pc.signalingState && (this._pc.close(), (this._pc = null)));
									},
								},
								{
									key: '_muteOrUnmute',
									value: function (e, t, r) {
										var n = this;
										if (this._stopped) return Promise.reject(t ? new y.ConferenceError('publication is stopped.') : new y.ConferenceError('subscripition is stopped.'));
										var i = t ? 'stream-control' : 'subscription-control',
											o = e ? 'pause' : 'play';
										return new Promise(function (a, s) {
											n._signaling
												.sendSignalingMessage(i, { id: n._internalId, operation: o, data: r })
												.then(function () {
													if (!t) {
														var i = e ? 'mute' : 'unmute';
														n._subscription.dispatchEvent(new d.MuteEvent(i, { kind: r }));
													}
													a();
												})
												.catch(function (e) {
													var t = 'MCU returns negative ack for muteOrUnmute, ' + e;
													f.default.warning(t), s(new y.ConferenceError(t));
												});
										});
									},
								},
								{
									key: '_updateMedia',
									value: function (e) {
										var t = this;
										if (!this._pc || !this._publication) return Promise.reject(new y.ConferenceError('Only publication support this method.'));
										if (!this._publishedStream.upgradeable) return Promise.reject(new y.ConferenceError('Only upgradeable stream support this method.'));
										if (this._stopped) return Promise.reject(new y.ConferenceError('Peerconnection has already stopped.'));
										var r = !1,
											n = !1;
										this._getPCSenders().forEach(function (i) {
											if ('audio' === i.track.kind) {
												r = !1;
												var o,
													a = t._publishedStream.mediaStream.getAudioTracks()[0];
												a !== t._publishedStream.dumyStream.getAudioTracks()[0] && a.stop(), t._publishedStream.mediaStream.removeTrack(a), e.mediaStream.getAudioTracks().length > 0 ? ((o = e.mediaStream.getAudioTracks()[0]), (r = 'active')) : (o = t._publishedStream.dumyStream.getAudioTracks()[0]), i.replaceTrack(o), t._publishedStream.mediaStream.addTrack(o);
											}
											if ('video' === i.track.kind) {
												n = !1;
												var s,
													u = t._publishedStream.mediaStream.getVideoTracks()[0];
												u !== t._publishedStream.dumyStream.getVideoTracks()[0] && u.stop(), t._publishedStream.mediaStream.removeTrack(u), e.mediaStream.getVideoTracks().length > 0 ? ((s = e.mediaStream.getVideoTracks()[0]), (n = 'active')) : (s = t._publishedStream.dumyStream.getVideoTracks()[0]), i.replaceTrack(s), t._publishedStream.mediaStream.addTrack(s);
											}
										});
										var i = [];
										return (
											r !== this._publishedStream.media.audio.status && ((this._publishedStream.media.audio.status = r), i.push({ field: 'media.audio.status', value: r })),
											n !== this._publishedStream.media.video.status && ((this._publishedStream.media.video.status = n), i.push({ field: 'media.video.status', value: n })),
											this._signaling.sendSignalingMessage('stream-update', { id: this._internalId, data: i }).catch(function (e) {
												f.default.warning('MCU returns negative ack for stream-update, ' + e);
											}),
											Promise.resolve()
										);
									},
								},
								{
									key: '_updateMediaTrack',
									value: function (e, t) {
										var r = this;
										if (!this._pc || !this._publication) return Promise.reject(new y.ConferenceError('Only publication support this method.'));
										if (this._stopped) return Promise.reject(new y.ConferenceError('Peerconnection has already stopped.'));
										var n = this._publishedStream.media.audio.status,
											i = this._publishedStream.media.video.status;
										this._getPCSenders().forEach(function (o) {
											if ('audio' === o.track.kind && (t === h.TrackKind.AUDIO || t === h.TrackKind.AUDIO_AND_VIDEO) && e.mediaStream.getAudioTracks().length > 0) {
												var a = r._publishedStream.mediaStream.getAudioTracks()[0],
													s = e.mediaStream.getAudioTracks()[0];
												a !== s && (r._publishedStream.mediaStream.removeTrack(a), o.replaceTrack(s), r._publishedStream.mediaStream.addTrack(s), a.stop(), (n = 'active'));
											}
											if ('video' === o.track.kind && (t === h.TrackKind.VIDEO || t === h.TrackKind.AUDIO_AND_VIDEO) && e.mediaStream.getVideoTracks().length > 0) {
												var u = r._publishedStream.mediaStream.getVideoTracks()[0],
													c = e.mediaStream.getVideoTracks()[0];
												u !== c && (r._publishedStream.mediaStream.removeTrack(u), o.replaceTrack(c), r._publishedStream.mediaStream.addTrack(c), u.stop(), (i = 'active'));
											}
										});
										var o = [];
										return (
											n !== this._publishedStream.media.audio.status && ((this._publishedStream.media.audio.status = n), o.push({ field: 'media.audio.status', value: n })),
											i !== this._publishedStream.media.video.status && ((this._publishedStream.media.video.status = i), o.push({ field: 'media.video.status', value: i })),
											this._signaling.sendSignalingMessage('stream-update', { id: this._internalId, data: o }).catch(function (e) {
												f.default.warning('MCU returns negative ack for stream-update, ' + e);
											}),
											Promise.resolve()
										);
									},
								},
								{
									key: '_applyOptions',
									value: function (e) {
										if ('object' !== (0, o.default)(e) || 'object' !== (0, o.default)(e.video)) return Promise.reject(new y.ConferenceError('Options should be an object.'));
										var t = {};
										return (
											(t.resolution = e.video.resolution),
											(t.framerate = e.video.frameRate),
											(t.bitrate = e.video.bitrateMultiplier ? 'x' + e.video.bitrateMultiplier.toString() : void 0),
											(t.keyFrameInterval = e.video.keyFrameInterval),
											this._signaling.sendSignalingMessage('subscription-control', { id: this._internalId, operation: 'update', data: { video: { parameters: t } } })
										);
									},
								},
								{
									key: '_onRemoteStreamAdded',
									value: function (e) {
										f.default.trace('Remote stream added.'), this._subscribedStream ? (this._subscribedStream.mediaStream = e.streams[0]) : f.default.warning('Received remote stream without subscription.');
									},
								},
								{
									key: '_onLocalIceCandidate',
									value: function (e) {
										e.candidate ? (f.default.trace('[' + this._internalId + ']_onLocalIceCandidate:' + JSON.stringify(e.candidate)), this._pc && 'stable' !== this._pc.signalingState ? this._pendingCandidates.push(e.candidate) : this._sendCandidate(e.candidate)) : f.default.trace('[' + this._internalId + ']Empty candidate.');
									},
								},
								{
									key: '_fireEndedEventOnPublicationOrSubscription',
									value: function () {
										if (!this._ended) {
											this._ended = !0;
											var e = new d.IRtcEvent('ended');
											this._publication ? (this._publication.dispatchEvent(e), this._publication.stop()) : this._subscription && (this._subscription.dispatchEvent(e), this._subscription.stop()), this._signaling.onStop && this._signaling.onStop(), this._pcCheckInterval && (clearInterval(this._pcCheckInterval), (this._pcCheckInterval = void 0));
										}
									},
								},
								{
									key: '_rejectPromise',
									value: function (e) {
										if (!e) new y.ConferenceError('Connection failed or closed.');
										this._publishPromise ? (this._publishPromise.reject(e), (this._publishPromise = void 0)) : this._subscribePromise && (this._subscribePromise.reject(e), (this._subscribePromise = void 0));
									},
								},
								{
									key: '_onIceConnectionStateChange',
									value: function (e) {
										e && e.currentTarget && (f.default.trace('[' + this._internalId + ']ICE connection state changed to ' + e.currentTarget.iceConnectionState), 'failed' === e.currentTarget.iceConnectionState && ('stable' === this._pc.signalingState ? this._iceRestart() : (this._iceRestartNeeded = !0)));
									},
								},
								{
									key: '_onConnectionStateChange',
									value: function (e) {
										var t = this._pc.connectionState;
										f.default.trace('[' + this._internalId + ']connectionState:' + t);
										var r = null;
										if ((this._publication ? (r = this._publication) : this._subscription && (r = this._subscription), r && !this._stopped && ('connecting' === t || 'connected' === t || 'disconnected' === t || 'failed' === t))) {
											var n = new d.IRtcEvent(t);
											r.dispatchEvent(n);
										}
										'failed' === t && ('stable' === this._pc.signalingState ? this._iceRestart() : (this._iceRestartNeeded = !0));
									},
								},
								{
									key: '_onsignalingstatechange',
									value: function (e) {
										this._pc && (f.default.trace('[' + this._internalId + ']_onsignalingstatechange:' + this._pc.signalingState), 'stable' === this._pc.signalingState && this._iceRestartNeeded && ((this._iceRestartNeeded = !1), this._iceRestart()));
									},
								},
								{
									key: '_sendCandidate',
									value: function (e) {
										f.default.trace('[' + this._internalId + ']_sendCandidate:' + JSON.stringify(e)),
											this._signaling.sendSignalingMessage('soac', { id: this._internalId, signaling: { type: 'candidate', candidate: { candidate: 'a=' + e.candidate, sdpMid: e.sdpMid, sdpMLineIndex: e.sdpMLineIndex } } }).catch(function (e) {
												f.default.warning('_sendCandidate err:' + e);
											});
									},
								},
								{
									key: '_createPeerConnection',
									value: function () {
										var e = this,
											t = this._config.rtcConfiguration || {},
											r = this._config.rtcConfigurationExtra;
										this._isChrome78Up() ? (t.sdpSemantics = 'unified-plan') : m.isChrome() && (t.sdpSemantics = 'plan-b'),
											(this._pc = new RTCPeerConnection(t, r)),
											(this._pc.onicecandidate = function (t) {
												e._onLocalIceCandidate.apply(e, [t]);
											}),
											(this._pc.ontrack = function (t) {
												e._onRemoteStreamAdded.apply(e, [t]);
											}),
											(this._pc.oniceconnectionstatechange = function (t) {
												e._onIceConnectionStateChange.apply(e, [t]);
											}),
											(this._pc.onconnectionstatechange = function (t) {
												e._onConnectionStateChange.apply(e, [t]);
											}),
											(this._pc.onsignalingstatechange = function (t) {
												e._onsignalingstatechange.apply(e, [t]);
											});
									},
								},
								{
									key: '_getStats',
									value: function () {
										return this._pc ? this._pc.getStats() : Promise.reject(new y.ConferenceError('PeerConnection is not available.'));
									},
								},
								{
									key: '_deleteUnusedKey',
									value: function (e) {
										delete e.id, delete e.mid, delete e.kind, delete e.type, delete e.ssrc, delete e.localId, delete e.codecId, delete e.trackId, delete e.remoteId, delete e.mediaType, delete e.transportId, delete e.mediaSourceId, delete e.trackIdentifier, delete e.decoderImplementation;
									},
								},
								{
									key: '_convertWebrtcStatsToIrtcStats',
									value: function (e, t) {
										var r = this;
										e.forEach(function (n) {
											if ('outbound-rtp' === n.type || 'inbound-rtp' === n.type) {
												var i = JSON.stringify(n);
												if (i) {
													var o = JSON.parse(i);
													if (o && n.codecId) {
														var a = JSON.stringify(e.get(n.codecId));
														a && (o.codec = JSON.parse(a)), r._deleteUnusedKey(o.codec);
													}
													if (o && n.remoteId) {
														var s = JSON.stringify(e.get(n.remoteId));
														if ((s && (o.remote = JSON.parse(s)), o.remote && o.remote.codecId)) {
															var u = JSON.stringify(e.get(o.remote.codecId));
															u && (o.remote.codec = JSON.parse(u)), r._deleteUnusedKey(o.remote.codec);
														}
														o.remote && r._deleteUnusedKey(o.remote);
													}
													r._deleteUnusedKey(o), 'audio' === n.kind ? (t.audio = o) : (t.video = o);
												}
											}
										});
									},
								},
								{
									key: '_getConnectionStats',
									value: function () {
										var e = this;
										return this._pc
											? new Promise(function (t, r) {
													var n = {};
													if (e._publication) {
														var i = e._pc.getSenders(),
															o = 0;
														i.forEach(function (a) {
															a.getStats().then(function (a) {
																e._convertWebrtcStatsToIrtcStats(a, n), ++o === i.length && (n.audio || n.video ? (e._pc.connectionState ? (n.connectionState = e._pc.connectionState) : (n.connectionState = e._pc.iceConnectionState), t(n)) : r('unsupported browser.'));
															});
														});
													}
													if (e._subscription) {
														var a = e._pc.getReceivers(),
															s = 0;
														a.forEach(function (i) {
															i.getStats().then(function (i) {
																e._convertWebrtcStatsToIrtcStats(i, n), ++s === a.length && (n.audio || n.video ? (e._pc.connectionState ? (n.connectionState = e._pc.connectionState) : (n.connectionState = e._pc.iceConnectionState), t(n)) : r('unsupported browser.'));
															});
														});
													}
											  })
											: Promise.reject(new y.ConferenceError('PeerConnection is not available.'));
									},
								},
								{
									key: '_getPCSenders',
									value: function () {
										return this._pc ? this._pc.getSenders() : null;
									},
								},
								{
									key: '_clearCallbackTimeout',
									value: function () {
										this._callbackTimer && (clearTimeout(this._callbackTimer), (this._callbackTimer = null));
									},
								},
								{
									key: '_readyHandler',
									value: function () {
										var e = this;
										this._subscribePromise
											? ((this._subscription = new v.Subscription(
													this._internalId,
													function () {
														return e._unsubscribe(), Promise.resolve();
													},
													function () {
														return e._getStats();
													},
													function () {
														return e._getConnectionStats();
													},
													function (t) {
														return e._muteOrUnmute(!0, !1, t);
													},
													function (t) {
														return e._muteOrUnmute(!1, !1, t);
													},
													function (t) {
														return e._applyOptions(t);
													},
													function (t, r) {
														e._signaling.sendSignalingMessage(t, r).catch(function (e) {
															f.default.warning('sendSignalingMessage type:' + t + ' ,msg:' + r + ' ,e:' + e);
														});
													}
											  )),
											  this._subscribePromise.resolve(this._subscription),
											  this._clearCallbackTimeout())
											: this._publishPromise &&
											  ((this._publication = new p.Publication(
													this._internalId,
													function () {
														return e._unpublish(), Promise.resolve();
													},
													function () {
														return e._getStats();
													},
													function () {
														return e._getConnectionStats();
													},
													function (t) {
														return e._muteOrUnmute(!0, !0, t);
													},
													function (t) {
														return e._muteOrUnmute(!1, !0, t);
													},
													function (t) {
														return e._updateMedia(t);
													},
													function (t, r) {
														return e._updateMediaTrack(t, r);
													},
													function (t, r) {
														e._signaling.sendSignalingMessage(t, r).catch(function (e) {
															f.default.warning('sendSignalingMessage type:' + t + ' ,msg:' + r + ' ,e:' + e);
														});
													}
											  )),
											  this._publishPromise.resolve(this._publication),
											  this._clearCallbackTimeout()),
											(this._publishPromise = null),
											(this._subscribePromise = null),
											(this._iceRestarted = !1),
											f.default.trace('[' + this._internalId + ']_readyHandler _iceRestarted=' + this._iceRestarted);
									},
								},
								{
									key: '_sdpHandler',
									value: function (e) {
										var t = this;
										'answer' === e.type &&
											(f.default.trace('[' + this._internalId + ']setRemoteDescription'),
											(this._publication || this._publishPromise) && this._options && (e.sdp = this._setRtpSenderOptions(e.sdp, this._options)),
											this._pc.setRemoteDescription(e).then(
												function () {
													if (t._pendingCandidates.length > 0) {
														var e,
															r = _(t._pendingCandidates);
														try {
															for (r.s(); !(e = r.n()).done; ) {
																var n = e.value;
																t._sendCandidate(n);
															}
														} catch (e) {
															r.e(e);
														} finally {
															r.f();
														}
													}
												},
												function (e) {
													f.default.error('Set remote description failed: ' + e), t._rejectPromise(e);
												}
											));
									},
								},
								{
									key: '_errorHandler',
									value: function (e) {
										f.default.trace('[' + this._internalId + ']_errorHandler:' + e);
										var t = this._publishPromise || this._subscribePromise;
										if (t) t.reject(new y.ConferenceError(e));
										else {
											var r = this._publication || this._subscription;
											if (r) {
												var n = new y.ConferenceError(e),
													i = new d.ErrorEvent('error', { error: n });
												r.dispatchEvent(i), this._fireEndedEventOnPublicationOrSubscription();
											} else f.default.warning('Neither publication nor subscription is available.');
										}
									},
								},
								{
									key: '_setCodecOrder',
									value: function (e, t) {
										if (this._publication || this._publishPromise) {
											if (t.audio) {
												var r = Array.from(t.audio, function (e) {
													return e.codec.name;
												});
												e = b.reorderCodecs(e, 'audio', r);
											}
											if (t.video) {
												var n = Array.from(t.video, function (e) {
													return e.codec.name;
												});
												e = b.reorderCodecs(e, 'video', n);
											}
										} else {
											if (t.audio && t.audio.codecs) {
												var i = Array.from(t.audio.codecs, function (e) {
													return e.name;
												});
												e = b.reorderCodecs(e, 'audio', i);
											}
											if (t.video && t.video.codecs) {
												var o = Array.from(t.video.codecs, function (e) {
													return e.name;
												});
												e = b.reorderCodecs(e, 'video', o);
											}
										}
										return e;
									},
								},
								{
									key: '_setStartBitrate',
									value: function (e, t) {
										return 'object' === (0, o.default)(t.audio) && (e = b.setStartBitrate(e, t.audio)), 'object' === (0, o.default)(t.video) && (e = b.setStartBitrate(e, t.video)), e;
									},
								},
								{
									key: '_setMinBitrate',
									value: function (e, t) {
										var r = null;
										return this._publishedStream ? (r = this._publishedStream) : this._subscribedStream && (r = this._subscribedStream), r.mediaStream.getVideoTracks().length > 0 && 'object' === (0, o.default)(t.video) && (e = b.setMinBitrate(e, t.video)), e;
									},
								},
								{
									key: '_setMaxBitrate',
									value: function (e, t) {
										return 'object' === (0, o.default)(t.video) && (e = b.setMaxBitrate(e, t.video)), e;
									},
								},
								{
									key: '_setRtpSenderOptions',
									value: function (e, t) {
										if (m.isFirefox()) {
											var r = this._pc.getSenders();
											0 === r.length && f.default.warning('Cannot set max bitrate without stream added.');
											var n,
												i = _(r);
											try {
												for (i.s(); !(n = i.n()).done; ) {
													var a = n.value;
													if ('audio' === a.track.kind && 'object' === (0, o.default)(t.audio)) {
														var s = a.getParameters();
														void 0 == s.encodings && (s.encodings = []);
														var u,
															c = _(t.audio);
														try {
															for (c.s(); !(u = c.n()).done; ) {
																var l = u.value,
																	d = void 0,
																	h = !1;
																if ((l.maxBitrate && l.maxBitrate > 0 && ((d = { maxBitrate: 1e3 * l.maxBitrate }), (h = !0)), l.minBitrate && l.minBitrate > 0 && ((d = { minBitrate: 1e3 * l.minBitrate }), (h = !0)), l.startBitrate && l.startBitrate > 0 && ((d = { startBitrate: 1e3 * l.startBitrate }), (h = !0)), h)) {
																	s.encodings.push(d);
																	break;
																}
															}
														} catch (e) {
															c.e(e);
														} finally {
															c.f();
														}
														a.setParameters(s);
													} else if ('video' === a.track.kind && 'object' === (0, o.default)(t.video)) {
														var p = a.getParameters();
														void 0 == p.encodings && (p.encodings = []);
														var v,
															y = _(t.video);
														try {
															for (y.s(); !(v = y.n()).done; ) {
																var b = v.value,
																	g = void 0,
																	w = !1;
																if ((b.maxBitrate && b.maxBitrate > 0 && ((g = { maxBitrate: 1e3 * b.maxBitrate }), (w = !0)), b.minBitrate && b.minBitrate > 0 && ((g = { minBitrate: 1e3 * b.minBitrate }), (w = !0)), b.startBitrate && b.startBitrate > 0 && ((g = { startBitrate: 1e3 * b.startBitrate }), (w = !0)), w)) {
																	p.encodings.push(g);
																	break;
																}
															}
														} catch (e) {
															y.e(e);
														} finally {
															y.f();
														}
														a.setParameters(p);
													}
												}
											} catch (e) {
												i.e(e);
											} finally {
												i.f();
											}
										} else (e = this._setMaxBitrate(e, t)), (e = this._setMinBitrate(e, t)), (e = this._setStartBitrate(e, t));
										return e;
									},
								},
								{
									key: '_setRtpReceiverOptions',
									value: function (e, t) {
										return (e = this._setCodecOrder(e, t));
									},
								},
								{
									key: '_onStreamEvent',
									value: function (e) {
										var t, r;
										(this._publication && e.id === this._publication.id ? (t = this._publication) : this._subscribedStream && e.id === this._subscribedStream.id && (t = this._subscription), t) &&
											('audio.status' === e.data.field ? (r = h.TrackKind.AUDIO) : 'video.status' === e.data.field ? (r = h.TrackKind.VIDEO) : f.default.warning('Invalid data field for stream update info.'),
											'active' === e.data.value ? t.dispatchEvent(new d.MuteEvent('unmute', { kind: r })) : 'inactive' === e.data.value ? t.dispatchEvent(new d.MuteEvent('mute', { kind: r })) : f.default.warning('Invalid data value for stream update info.'));
									},
								},
								{
									key: '_isRtpEncodingParameters',
									value: function (e) {
										if (!Array.isArray(e)) return !1;
										var t = e[0];
										return t.codec || t.codecPayloadType || t.dtx || t.active || t.ptime || t.maxFramerate || t.scaleResolutionDownBy || t.rid || t.maxBitrate || t.minBitrate || t.startBitrate;
									},
								},
								{
									key: '_isIrtcEncodingParameters',
									value: function (e) {
										return !!Array.isArray(e) && !!e[0].codec;
									},
								},
								{
									key: '_isAddTransceiverSupported',
									value: function () {
										var e = m.sysInfo();
										return 'function' == typeof this._pc.addTransceiver && (e.runtime.version <= 68 || this._isChrome78Up() || !m.isChrome());
									},
								},
								{
									key: '_isSafari',
									value: function () {
										return 'Safari' === m.sysInfo().runtime.name;
									},
								},
								{
									key: '_isChrome78Up',
									value: function () {
										var e = m.sysInfo();
										return 'Chrome' === e.runtime.name && e.runtime.version.split('.')[0] >= 78;
									},
								},
								{
									key: '_iceRestart',
									value: function () {
										var e = this;
										if (this._iceRestarted) f.default.trace('[' + this._internalId + ']_iceRestart return');
										else if ((f.default.trace('[' + this._internalId + ']_iceRestart'), this._pc)) {
											var t;
											f.default.trace('[' + this._internalId + ']_iceRestarted=' + this._iceRestarted),
												(this._iceRestarted = !0),
												setTimeout(function () {
													e._iceRestarted && ((e._iceRestarted = !1), f.default.trace('[' + e._internalId + ']setTimeout _iceRestarted=' + e._iceRestarted));
												}, 1e4),
												(this._pendingCandidates = []);
											this._pc
												.createOffer({ iceRestart: !0 })
												.then(function (t) {
													return (t.sdp = e._setRtpReceiverOptions(t.sdp, e._options)), t;
												})
												.then(function (r) {
													return (r.sdp = b.enableAudioNack(r.sdp)), (t = r), e._pc.setLocalDescription(r);
												})
												.then(function () {
													return e._signaling.sendSignalingMessage('soac', { id: e._internalId, signaling: t }, !0);
												})
												.catch(function (t) {
													f.default.warning('Failed to create offer or set SDP. Message: ' + t.message), (e._iceRestarted = !1), f.default.trace('[' + e._internalId + ']_iceRestarted=' + e._iceRestarted);
												});
										}
									},
								},
							]),
							r
						);
					})(d.EventDispatcher);
					r.ConferencePeerConnectionChannel = S;
				},
				{
					'../base/event.js': 31,
					'../base/logger.js': 33,
					'../base/mediaformat.js': 34,
					'../base/mediastream-factory': 35,
					'../base/publication.js': 36,
					'../base/sdputils.js': 38,
					'../base/utils.js': 40,
					'./error.js': 43,
					'./subscription.js': 53,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			42: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferenceClient = void 0);
					n(e('@babel/runtime/helpers/createClass')), n(e('@babel/runtime/helpers/classCallCheck'));
					var o = k(e('../base/event.js')),
						a = e('./signaling.js'),
						s = n(e('../base/logger.js')),
						u = e('../base/base64.js'),
						c = e('./hostinfo.js'),
						l = e('./error.js'),
						f = k(e('../base/utils.js')),
						d = k(e('../base/stream.js')),
						h = e('./participant.js'),
						p = e('./recording.js'),
						v = k(e('./sip.js')),
						y = e('./info.js'),
						m = e('./channel.js'),
						b = e('./mixedstream.js'),
						g = k(e('./streamutils.js')),
						w = e('./whiteboard.js');
					function _(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (_ = function (e) {
							return e ? r : t;
						})(e);
					}
					function k(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = _(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function E(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return S(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return S(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i,
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							a = !0,
							s = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (a = e.done), e;
							},
							e: function (e) {
								(s = !0), (o = e);
							},
							f: function () {
								try {
									a || null == r.return || r.return();
								} finally {
									if (s) throw o;
								}
							},
						};
					}
					function S(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					var R = { READY: 1, CONNECTING: 2, CONNECTED: 3 },
						C = function (e, t) {
							var r = new o.IRtcEvent(e, t);
							return (r.participant = t.participant), r;
						},
						A = function (e, t) {
							var r = new o.IRtcEvent(e, t);
							return (r.recording = t.recording), r;
						},
						O = function (e, t) {
							var r = new o.IRtcEvent(e, t);
							return (r.whiteboard = t.whiteboard), r;
						};
					r.ConferenceClient = function (e, t) {
						Object.setPrototypeOf(this, new o.EventDispatcher()), (e = e || {});
						var r,
							n,
							i = this,
							_ = R.READY,
							k = t || new a.SioSignaling(),
							S = new Map(),
							P = new Map(),
							T = new Array(),
							j = new Array(),
							x = new Map(),
							I = void 0,
							M = new Map(),
							B = new Map(),
							D = [];
						function L() {
							return _ == R.CONNECTED;
						}
						function N(e, t) {
							if ('soac' === e || 'progress' === e) {
								if ('progress' === e && 'recording' === t.type)
									return void (function (e) {
										if ('ready' === e.status) {
											var t = new p.Recording(e.id),
												r = new A('recordingadded', { recording: t });
											i.dispatchEvent(r);
										} else if ('error' === e.status) {
											var n = new p.Recording(e.id),
												o = new A('recordingerror', { recording: n });
											i.dispatchEvent(o);
										} else if ('end' === e.status) {
											var a = new p.Recording(e.id),
												s = new A('recordingend', { recording: a });
											i.dispatchEvent(s);
										}
									})(t);
								if (!x.has(t.id)) return void s.default.warning('Cannot find a channel for incoming data.', t);
								x.get(t.id).onMessage(e, t);
							} else
								'stream' === e
									? 'add' === t.status
										? (function (e) {
												var t = U(e);
												S.set(t.id, t);
												var r = new d.StreamEvent('streamadded', { stream: t });
												i.dispatchEvent(r);
										  })(t.data)
										: 'remove' === t.status
										? (function (e) {
												if (S.has(e.id)) {
													var t = S.get(e.id),
														r = new o.IRtcEvent('ended');
													S.delete(t.id), t.dispatchEvent(r);
												} else s.default.warning('Cannot find specific remote stream.', e.id);
										  })(t)
										: 'update' === t.status
										? Array.isArray(t.data)
											? (function (e) {
													if (S.has(e.id)) {
														var t = S.get(e.id);
														e.data.forEach(function (e) {
															for (var r = e.field.split('.'), n = t, i = 0; i < r.length - 1; i++) n = n[r[i]];
															n[r[r.length - 1]] = e.value;
														});
														var r = new d.StreamUpdatedEvent({ info: e.data });
														t.dispatchEvent(r);
													} else s.default.warning('Cannot find specific remote stream.', e.id);
											  })(t)
											: 'audio.status' === t.data.field || 'video.status' === t.data.field
											? x.forEach(function (r) {
													r.onMessage(e, t);
											  })
											: 'activeInput' === t.data.field
											? (function (e) {
													if (S.has(e.id)) {
														var t = S.get(e.id),
															r = new b.ActiveAudioInputChangeEvent('activeaudioinputchange', { activeAudioInputStreamId: e.data.value });
														t.dispatchEvent(r);
													} else s.default.warning('Cannot find specific remote stream.', e.id);
											  })(t)
											: 'connectionState' === t.data.field
											? (function (e) {
													if (S.has(e.id)) {
														var t = S.get(e.id),
															r = new d.ConnectionStateEvent({ state: e.data.value });
														t.dispatchEvent(r);
													} else s.default.warning('Cannot find specific remote stream.', e.id);
											  })(t)
											: 'video.layout' === t.data.field
											? (function (e) {
													if (S.has(e.id)) {
														var t = S.get(e.id),
															r = new b.LayoutChangeEvent('layoutchange', { layout: e.data.value });
														t.dispatchEvent(r);
													} else s.default.warning('Cannot find specific remote stream.', e.id);
											  })(t)
											: '.' === t.data.field
											? (function (e) {
													if (S.has(e.id)) {
														var t = S.get(e.id);
														(t.settings = g.convertToPublicationSettings(e.media)), (t.capabilities = g.convertToSubscriptionCapabilities(e.media));
														var r = new o.IRtcEvent('updated');
														t.dispatchEvent(r);
													} else s.default.warning('Cannot find specific remote stream.', e.id);
											  })(t.data.value)
											: s.default.warning('Unknown stream event from MCU.', t)
										: 'warn' === t.status &&
										  (function (e) {
												if (S.has(e.id)) {
													var t = S.get(e.id),
														r = new o.WarningEvent('warn', e.data);
													t.dispatchEvent(r);
												} else s.default.warning('Cannot find specific remote stream.', e.id);
										  })(t)
									: 'text' === e
									? (function (e) {
											var t = new o.MessageEvent('messagereceived', { message: e.message, origin: e.from, to: e.to });
											i.dispatchEvent(t);
									  })(t)
									: 'participant' === e
									? (function (e) {
											if ('join' === e.action) {
												e = e.data;
												var t = new h.Participant(e.id, e.role, e.user);
												P.set(e.id, t);
												var r = new C('participantjoined', { participant: t });
												i.dispatchEvent(r);
											} else if ('leave' === e.action) {
												var n = e.data;
												if (!P.has(n)) return void s.default.warning('Received leave message from MCU for an unknown participant.', n);
												var a = P.get(n);
												P.delete(n), a.dispatchEvent(new o.IRtcEvent('left'));
											}
									  })(t)
									: 'asr' === e
									? (function (e) {
											if (S.has(e.streamId)) {
												var t = S.get(e.streamId),
													r = new d.AsrEvent({ info: e });
												t.dispatchEvent(r);
											} else s.default.warning('Cannot find specific remote stream.', e.streamId);
									  })(t)
									: 'speaking' === e
									? (function (e) {
											if (S.has(e.streamId)) {
												var t = S.get(e.streamId),
													r = new d.SpeakingEvent({ info: e });
												t.dispatchEvent(r);
											} else s.default.warning('Cannot find specific remote stream.', e.streamId);
									  })(t)
									: 'coshow' === e
									? (function (e) {
											if ('add' === e.type) {
												var t = e.whiteboard.id,
													r = e.whiteboard.owner,
													n = e.whiteboard.name,
													a = e.whiteboard.path,
													s = e.whiteboard.attributes,
													u = new w.Whiteboard(t, r, n, a, s);
												M.set(u.id, u);
												var c = new O('whiteboardadded', { whiteboard: u });
												i.dispatchEvent(c);
											} else if ('remove' === e.type) {
												var l = e.whiteboard.id,
													f = M.get(l);
												M.delete(l), f.dispatchEvent(new o.IRtcEvent('remove'));
											} else if ('update' === e.type) {
												var d = e.whiteboard.id,
													h = e.data,
													p = B.get(d);
												p && p.contentWindow && p.contentWindow.onUpdate && p.contentWindow.onUpdate(h);
											}
									  })(t)
									: 'custom' === e
									? (function (e) {
											var t = e.message;
											if ('stream' === t.type && 'quality-report' === t.event) {
												if (!S.has(t.id)) return void s.default.warning('Cannot find specific remote stream.', t.id);
												var r = S.get(t.id),
													n = new o.QualityReportEvent(t.event, t.report);
												r.dispatchEvent(n);
											}
									  })(t)
									: 'sip' === e &&
									  (function (e) {
											if ('incoming-call' === e.event) {
												var t = new v.SipIncomingInfo(e.id, e.message.peerURI, e.message.audio, e.message.video, e.message.calleeID, e.message.extraInfo.xHeaders),
													r = new v.SipIncomingEvent(t);
												i.dispatchEvent(r);
											} else if ('incoming-call-cancelled' === e.event) {
												var n = new v.SipIncomingCancelInfo(e.id, e.message.peerURI),
													o = new v.SipIncomingCancelEvent(n);
												i.dispatchEvent(o);
											} else if ('call-closed' === e.event) {
												var a = new v.SipCallClosedInfo(e.id, e.message.peerURI),
													s = new v.SipCallClosedEvent(a);
												i.dispatchEvent(s);
											} else if ('registered-failed' === e.event) {
												var u = new v.SipRegisteredInfo(e.message.user, e.message.server),
													c = new v.SipRegisteredFailedEvent(u);
												i.dispatchEvent(c);
											} else if ('dtmf' === e.event) {
												var l = void 0;
												void 0 !== e.message.end && (l = 1 === e.message.end);
												var f = new v.SipDTMFInfo(e.id, e.message.type, e.message.peerId, e.message.duration, String.fromCharCode(e.message.key), l),
													d = new v.SipDTMFEvent(f);
												i.dispatchEvent(d);
											} else if ('call-update' === e.event) {
												var h = new v.SipUpdateInfo(e.id, e.message.update.audio, e.message.update.audio_dir, e.message.update.video, e.message.update.video_dir),
													p = new v.SipCallUpdateEvent(h);
												i.dispatchEvent(p);
											}
									  })(t);
						}
						function U(e) {
							if ('mixed' === e.type) return new b.RemoteMixedStream(e);
							var t = { source: void 0, status: void 0 },
								r = { source: void 0, status: void 0 };
							e.media.audio && (t = { source: e.media.audio.source, status: e.media.audio.status }), e.media.video && (r = { source: e.media.video.source, status: e.media.video.status });
							var n = new d.RemoteStream(e.id, e.info.owner, void 0, new d.StreamSourceInfo(t, r), e.info.attributes);
							return (n.settings = g.convertToPublicationSettings(e.media)), (n.capabilities = g.convertToSubscriptionCapabilities(e.media)), n;
						}
						function q(e, t, r) {
							return k.send(e, t, r);
						}
						function W() {
							var t = Object.create(o.EventDispatcher);
							t.sendSignalingMessage = q;
							var r = function () {
								t.onreconnected && t.onreconnected();
							};
							k.addEventListener('reconnected', r),
								(t.onStop = function () {
									k.removeEventListener('reconnected', r);
								});
							var n = new m.ConferencePeerConnectionChannel(e, t);
							return (
								n.addEventListener('id', function (e) {
									x.set(e.message, n);
								}),
								n.addEventListener('ended', function () {
									x.forEach(function (e, t) {
										e == n && x.delete(t);
									});
								}),
								n
							);
						}
						function F() {
							T.forEach(function (e) {
								e._unpublish('server disconnected');
							}),
								T.splice(0, T.length),
								j.forEach(function (e) {
									e._unsubscribe('server disconnected');
								}),
								j.splice(0, j.length),
								D.forEach(function (e) {
									i.stopWhiteboard(e);
								}),
								D.splice(0, D.length),
								P.clear(),
								S.clear(),
								M.clear(),
								B.clear();
						}
						k.addEventListener('data', function (e) {
							N(e.message.notification, e.message.data);
						}),
							k.addEventListener('reconnecting', function (e) {
								i.dispatchEvent(new o.ReconnectingEvent('serverreconnecting', e.attempt));
							}),
							k.addEventListener('reconnected', function () {
								i.dispatchEvent(new o.IRtcEvent('serverreconnected'));
							}),
							k.addEventListener('disconnect', function () {
								F(), (_ = R.READY), i.dispatchEvent(new o.IRtcEvent('serverdisconnected'));
							}),
							Object.defineProperty(this, 'info', {
								configurable: !1,
								get: function () {
									return n ? new y.ConferenceInfo(n.id, Array.from(P.values()), Array.from(S.values()), Array.from(M.values()), r) : null;
								},
							}),
							(this.setHostInfo = function (e) {
								if (!(e instanceof c.HostInfo)) return Promise.reject(new l.ConferenceError('Invalid info.'));
								I = e;
							}),
							(this.join = function (e) {
								return new Promise(function (t, i) {
									var o = JSON.parse(u.Base64.decodeBase64(e)),
										a = !0 === o.secure,
										s = o.host;
									if ('string' == typeof s)
										if ((-1 === s.indexOf('http') && (s = a ? 'https://' + s : 'http://' + s), _ === R.READY)) {
											_ = R.CONNECTING;
											var d = { token: e, userAgent: f.sysInfo(), protocol: '1.0', hostInfo: {} };
											if (I && I instanceof c.HostInfo) {
												if ((I.ip && (d.hostInfo.ip = I.ip), I.location)) {
													var p = {};
													void 0 !== I.location.lat && (p.lat = I.location.lat), void 0 !== I.location.lng && (p.lng = I.location.lng), (d.hostInfo.location = p);
												}
												if (I.address) {
													var v = {};
													void 0 !== I.address.nation && (v.nation = I.address.nation), void 0 !== I.address.province && (v.province = I.address.province), void 0 !== I.address.city && (v.city = I.address.city), void 0 !== I.address.district && (v.district = I.address.district), void 0 !== I.address.code && (v.code = I.address.code), (d.hostInfo.address = v);
												}
											}
											k.connect(s, a, d).then(
												function (e) {
													if (((_ = R.CONNECTED), void 0 !== (n = e.room).streams)) {
														var i,
															o = E(n.streams);
														try {
															for (o.s(); !(i = o.n()).done; ) {
																var a = i.value;
																'mixed' === a.type && (a.viewport = a.info.label), S.set(a.id, U(a));
															}
														} catch (e) {
															o.e(e);
														} finally {
															o.f();
														}
													}
													if (e.room && void 0 !== e.room.participants) {
														var s,
															u = E(e.room.participants);
														try {
															for (u.s(); !(s = u.n()).done; ) {
																var c = s.value;
																P.set(c.id, new h.Participant(c.id, c.role, c.user)), c.id === e.id && (r = P.get(c.id));
															}
														} catch (e) {
															u.e(e);
														} finally {
															u.f();
														}
													}
													if (e.room && e.room.whiteboards) {
														var l,
															f = E(e.room.whiteboards);
														try {
															for (f.s(); !(l = f.n()).done; ) {
																var d = l.value;
																M.set(d.id, new w.Whiteboard(d.id, d.owner, d.name, d.path, d.attributes));
															}
														} catch (e) {
															f.e(e);
														} finally {
															f.f();
														}
													}
													t(new y.ConferenceInfo(e.room.id, Array.from(P.values()), Array.from(S.values()), Array.from(M.values()), r));
												},
												function (e) {
													(_ = R.READY), i(new l.ConferenceError(e));
												}
											);
										} else i(new l.ConferenceError('connection state invalid'));
									else i(new l.ConferenceError('Invalid host.'));
								});
							}),
							(this.publish = function (e, t) {
								if (!L()) return Promise.reject(new l.ConferenceError('Conference server is not connected.'));
								if (!(e instanceof d.LocalStream)) return Promise.reject(new l.ConferenceError('Invalid stream.'));
								var r = W();
								return (
									T.push(r),
									r.addEventListener('ended', function () {
										var e = T.indexOf(r);
										e > -1 && T.splice(e, 1);
									}),
									r.publish(e, t)
								);
							}),
							(this.subscribe = function (e, t) {
								if (!e) return Promise.reject(new l.ConferenceError('stream is invalid.'));
								if (e.subscribe) return Promise.reject(new l.ConferenceError('stream is already in subscribe.'));
								if (((e.subscribe = !0), !L())) return delete e.subscribe, Promise.reject(new l.ConferenceError('Conference server is not connected.'));
								if (!(e instanceof d.RemoteStream)) return delete e.subscribe, Promise.reject(new l.ConferenceError('Invalid stream.'));
								var r = W();
								return (
									j.push(r),
									r.addEventListener('ended', function () {
										var e = j.indexOf(r);
										e > -1 && j.splice(e, 1);
									}),
									new Promise(function (n, i) {
										r.subscribe(e, t)
											.then(function (t) {
												delete e.subscribe, n(t);
											})
											.catch(function (t) {
												delete e.subscribe, i(t);
											});
									})
								);
							}),
							(this.send = function (e, t) {
								return L() ? (void 0 === t && (t = 'all'), q('text', { to: t, message: e })) : Promise.reject(new l.ConferenceError('Conference server is not connected.'));
							}),
							(this.createWhiteboard = function (e, t, n) {
								return new Promise(function (i, o) {
									return L()
										? 'string' != typeof e
											? o(new TypeError('name should be a string.'))
											: 'string' != typeof t
											? o(new TypeError('path should be a string.'))
											: void q('coshow', { name: e, path: t, attributes: n, action: 'create' })
													.then(function (o) {
														var a = new w.Whiteboard(o.id, r.id, e, t, n);
														i(a);
													})
													.catch(function (e) {
														s.default.info(e), o(new l.ConferenceError(e));
													})
										: o(new l.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.startWhiteboard = function (e, t) {
								return new Promise(function (n, i) {
									return L()
										? t instanceof w.Whiteboard
											? 'string' != typeof e
												? i(new TypeError('hostname should be a string.'))
												: void q('coshow', { id: t.id, action: 'start' })
														.then(function (i) {
															D.push(M.get(t.id));
															var o,
																a = document.createElement('iframe'),
																u = i.path,
																c = e.endsWith('/'),
																l = u.startsWith('/');
															(o = c && l ? ''.concat(e).concat(u.substring(1)) : c || l ? ''.concat(e).concat(u) : ''.concat(e, '/').concat(u)),
																(a.src = o),
																(a.height = '100%'),
																(a.width = '100%'),
																(a.id = i.id),
																B.set(i.id, a),
																(a.onStart = !0),
																(window[i.id] = function (e) {
																	var n = JSON.parse(e);
																	'load' === n.method
																		? a.contentWindow.onStart({ owner: t.owner, user: r.id })
																		: 'update' === n.method
																		? q('coshow', { id: t.id, action: 'update', data: n.data })
																		: 'snapshot' === n.method
																		? a.snapshotCallback && a.snapshotCallback.length > 0 && a.snapshotCallback.shift()({ metaData: n.metaData, front: n.front, background: n.background })
																		: s.default.warning('unknow message from whiteboard:', e);
																}),
																n(a);
														})
														.catch(function (e) {
															s.default.info(e), i(new l.ConferenceError(e));
														})
											: i(new TypeError('whiteboard should be Whiteboard type.'))
										: i(new l.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.snapshot = function (e) {
								return new Promise(function (t, r) {
									if (!L()) return r(new l.ConferenceError('Conference server is not connected.'));
									if (!(e instanceof w.Whiteboard)) return r(new TypeError('whiteboard should be Whiteboard type.'));
									var n = e.id,
										i = B.get(n);
									i.contentWindow.onSnapshot ? (i.snapshotCallback || (i.snapshotCallback = []), i.snapshotCallback.push(t), i.contentWindow.onSnapshot()) : r(new TypeError('whiteboard does not support snapshot.'));
								});
							}),
							(this.stopWhiteboard = function (e) {
								return new Promise(function (t, r) {
									return L()
										? e instanceof w.Whiteboard
											? void q('coshow', { id: e.id, action: 'stop' })
													.then(function (r) {
														D.includes(M.get(e.id)) && D.splice(D.indexOf(M.get(e.id)), 1), B.get(r.id) && B.delete(r.id), t(M.get(r.id));
													})
													.catch(function (e) {
														s.default.info(e), r(new l.ConferenceError(e));
													})
											: r(new TypeError('whiteboard should be Whiteboard type.'))
										: r(new l.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.removeWhiteboard = function (e) {
								return new Promise(function (t, r) {
									return L()
										? e instanceof w.Whiteboard
											? void q('coshow', { id: e.id, action: 'remove' })
													.then(function (e) {
														t(M.get(e.id));
													})
													.catch(function (e) {
														s.default.info(e), r(new l.ConferenceError(e));
													})
											: r(new TypeError('whiteboard should be Whiteboard type.'))
										: r(new l.ConferenceError('Conference server is not connected.'));
								});
							}),
							(this.leave = function () {
								return (
									F(),
									k.disconnect().then(function () {
										_ = R.READY;
									})
								);
							});
					};
				},
				{
					'../base/base64.js': 29,
					'../base/event.js': 31,
					'../base/logger.js': 33,
					'../base/stream.js': 39,
					'../base/utils.js': 40,
					'./channel.js': 41,
					'./error.js': 43,
					'./hostinfo.js': 45,
					'./info.js': 46,
					'./mixedstream.js': 47,
					'./participant.js': 48,
					'./recording.js': 49,
					'./signaling.js': 50,
					'./sip.js': 51,
					'./streamutils.js': 52,
					'./whiteboard.js': 54,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			43: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferenceError = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/inherits')),
						s = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function c(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, u.default)(e);
							if (t) {
								var i = (0, u.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, s.default)(this, r);
						};
					}
					var l = (function (e) {
						(0, a.default)(r, e);
						var t = c(r);
						function r(e) {
							return (0, o.default)(this, r), t.call(this, e);
						}
						return (0, i.default)(r);
					})((0, n(e('@babel/runtime/helpers/wrapNativeSuper')).default)(Error));
					r.ConferenceError = l;
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/getPrototypeOf': 13, '@babel/runtime/helpers/inherits': 14, '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/possibleConstructorReturn': 20, '@babel/runtime/helpers/wrapNativeSuper': 26 },
			],
			44: [
				function (e, t, r) {
					'use strict';
					Object.defineProperty(r, '__esModule', { value: !0 });
					var n = { ConferenceClient: !0, SioSignaling: !0 };
					Object.defineProperty(r, 'ConferenceClient', {
						enumerable: !0,
						get: function () {
							return i.ConferenceClient;
						},
					}),
						Object.defineProperty(r, 'SioSignaling', {
							enumerable: !0,
							get: function () {
								return o.SioSignaling;
							},
						});
					var i = e('./client.js'),
						o = e('./signaling.js'),
						a = e('./subscription.js');
					Object.keys(a).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							(Object.prototype.hasOwnProperty.call(n, e) ||
								(e in r && r[e] === a[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return a[e];
									},
								}));
					});
					var s = e('./hostinfo.js');
					Object.keys(s).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							(Object.prototype.hasOwnProperty.call(n, e) ||
								(e in r && r[e] === s[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return s[e];
									},
								}));
					});
					var u = e('./sip.js');
					Object.keys(u).forEach(function (e) {
						'default' !== e &&
							'__esModule' !== e &&
							(Object.prototype.hasOwnProperty.call(n, e) ||
								(e in r && r[e] === u[e]) ||
								Object.defineProperty(r, e, {
									enumerable: !0,
									get: function () {
										return u[e];
									},
								}));
					});
				},
				{ './client.js': 42, './hostinfo.js': 45, './signaling.js': 50, './sip.js': 51, './subscription.js': 53 },
			],
			45: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.LocationInfo = r.HostInfo = r.AddressInfo = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						a = (0, i.default)(function e(t, r) {
							if (((0, o.default)(this, e), void 0 !== t && 'number' != typeof t)) throw new TypeError('Invalid lat.');
							if (void 0 !== r && 'number' != typeof r) throw new TypeError('Invalid lng.');
							Object.defineProperty(this, 'lat', { configurable: !1, writable: !0, value: t }), Object.defineProperty(this, 'lng', { configurable: !1, writable: !0, value: r });
						});
					r.LocationInfo = a;
					var s = (0, i.default)(function e(t, r, n, i, a) {
						if (((0, o.default)(this, e), void 0 !== t && 'string' != typeof t)) throw new TypeError('Invalid nation.');
						if (void 0 !== r && 'string' != typeof r) throw new TypeError('Invalid province.');
						if (void 0 !== n && 'string' != typeof n) throw new TypeError('Invalid city.');
						if (void 0 !== i && 'string' != typeof i) throw new TypeError('Invalid district.');
						if (void 0 !== a && 'number' != typeof a) throw new TypeError('Invalid code.');
						Object.defineProperty(this, 'nation', { configurable: !1, writable: !0, value: t }),
							Object.defineProperty(this, 'province', { configurable: !1, writable: !0, value: r }),
							Object.defineProperty(this, 'city', { configurable: !1, writable: !0, value: n }),
							Object.defineProperty(this, 'district', { configurable: !1, writable: !0, value: i }),
							Object.defineProperty(this, 'code', { configurable: !1, writable: !0, value: a });
					});
					r.AddressInfo = s;
					var u = (0, i.default)(function e(t, r, n) {
						if (((0, o.default)(this, e), void 0 !== t && 'string' != typeof t)) throw new TypeError('Invalid ip.');
						if (void 0 !== r && !(r instanceof a)) throw new TypeError('Invalid location.');
						if (void 0 !== n && !(n instanceof s)) throw new TypeError('Invalid location.');
						Object.defineProperty(this, 'ip', { configurable: !1, writable: !0, value: t }), Object.defineProperty(this, 'location', { configurable: !1, writable: !0, value: r }), Object.defineProperty(this, 'address', { configurable: !1, writable: !0, value: n });
					});
					r.HostInfo = u;
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/interopRequireDefault': 15 },
			],
			46: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.ConferenceInfo = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						a = (0, i.default)(function e(t, r, n, i, a) {
							(0, o.default)(this, e), (this.id = t), (this.participants = r), (this.remoteStreams = n), (this.whiteboards = i), (this.self = a);
						});
					r.ConferenceInfo = a;
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/interopRequireDefault': 15 },
			],
			47: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.RemoteMixedStream = r.LayoutChangeEvent = r.ActiveAudioInputChangeEvent = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						a = n(e('@babel/runtime/helpers/classCallCheck')),
						s = n(e('@babel/runtime/helpers/inherits')),
						u = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						c = n(e('@babel/runtime/helpers/getPrototypeOf')),
						l = p(e('../base/stream.js')),
						f = p(e('./streamutils.js')),
						d = e('../base/event.js');
					function h(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (h = function (e) {
							return e ? r : t;
						})(e);
					}
					function p(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = h(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function v(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, c.default)(e);
							if (t) {
								var i = (0, c.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, u.default)(this, r);
						};
					}
					var y = (function (e) {
						(0, s.default)(r, e);
						var t = v(r);
						function r(e) {
							var n;
							if (((0, a.default)(this, r), 'mixed' !== e.type)) throw new TypeError('Not a mixed stream');
							return ((n = t.call(this, e.id, void 0, void 0, new l.StreamSourceInfo('mixed', 'mixed'))).settings = f.convertToPublicationSettings(e.media)), (n.capabilities = new f.convertToSubscriptionCapabilities(e.media)), n;
						}
						return (0, o.default)(r);
					})(l.RemoteStream);
					r.RemoteMixedStream = y;
					var m = (function (e) {
						(0, s.default)(r, e);
						var t = v(r);
						function r(e, n) {
							var i;
							return (0, a.default)(this, r), ((i = t.call(this, e)).activeAudioInputStreamId = n.activeAudioInputStreamId), i;
						}
						return (0, o.default)(r);
					})(d.IRtcEvent);
					r.ActiveAudioInputChangeEvent = m;
					var b = (function (e) {
						(0, s.default)(r, e);
						var t = v(r);
						function r(e, n) {
							var i;
							return (0, a.default)(this, r), ((i = t.call(this, e)).layout = n.layout), i;
						}
						return (0, o.default)(r);
					})(d.IRtcEvent);
					r.LayoutChangeEvent = b;
				},
				{
					'../base/event.js': 31,
					'../base/stream.js': 39,
					'./streamutils.js': 52,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			48: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Participant = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						a = n(e('@babel/runtime/helpers/classCallCheck')),
						s = n(e('@babel/runtime/helpers/assertThisInitialized')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						l = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function f(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (f = function (e) {
							return e ? r : t;
						})(e);
					}
					function d(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, l.default)(e);
							if (t) {
								var i = (0, l.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var h = (function (e) {
						(0, u.default)(r, e);
						var t = d(r);
						function r(e, n, i) {
							var o;
							return (0, a.default)(this, r), (o = t.call(this)), Object.defineProperty((0, s.default)(o), 'id', { configurable: !1, writable: !1, value: e }), Object.defineProperty((0, s.default)(o), 'role', { configurable: !1, writable: !1, value: n }), Object.defineProperty((0, s.default)(o), 'userId', { configurable: !1, writable: !1, value: i }), o;
						}
						return (0, o.default)(r);
					})(
						(function (e, t) {
							if (!t && e && e.__esModule) return e;
							if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
							var r = f(t);
							if (r && r.has(e)) return r.get(e);
							var n = {},
								o = Object.defineProperty && Object.getOwnPropertyDescriptor;
							for (var a in e)
								if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
									var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
									s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
								}
							(n.default = e), r && r.set(e, n);
							return n;
						})(e('../base/event.js')).EventDispatcher
					);
					r.Participant = h;
				},
				{
					'../base/event.js': 31,
					'@babel/runtime/helpers/assertThisInitialized': 3,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			49: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Recording = void 0);
					var i = n(e('@babel/runtime/helpers/createClass')),
						o = n(e('@babel/runtime/helpers/classCallCheck')),
						a = (0, i.default)(function e(t) {
							(0, o.default)(this, e), Object.defineProperty(this, 'id', { configurable: !1, writable: !1, value: t });
						});
					r.Recording = a;
				},
				{ '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/interopRequireDefault': 15 },
			],
			50: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.SioSignaling = void 0);
					var o = n(e('@babel/runtime/helpers/classCallCheck')),
						a = n(e('@babel/runtime/helpers/createClass')),
						s = n(e('@babel/runtime/helpers/inherits')),
						u = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						c = n(e('@babel/runtime/helpers/getPrototypeOf')),
						l = n(e('../base/logger.js')),
						f = b(e('../base/event.js')),
						d = e('./error.js'),
						h = b(e('../base/utils.js')),
						p = e('../base/base64.js'),
						v = n(e('../../dependencies/socket.io.js')),
						y = n(e('../../dependencies/weapp.socket.io.js'));
					function m(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (m = function (e) {
							return e ? r : t;
						})(e);
					}
					function b(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = m(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function g(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return w(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return w(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i,
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							a = !0,
							s = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (a = e.done), e;
							},
							e: function (e) {
								(s = !0), (o = e);
							},
							f: function () {
								try {
									a || null == r.return || r.return();
								} finally {
									if (s) throw o;
								}
							},
						};
					}
					function w(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function _(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, c.default)(e);
							if (t) {
								var i = (0, c.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, u.default)(this, r);
						};
					}
					function k(e, t, r, n) {
						'ok' === e || 'success' === e ? r(t) : 'error' === e ? n(t) : l.default.error('MCU returns unknown ack.');
					}
					var E = (function (e) {
						(0, s.default)(r, e);
						var t = _(r);
						function r(e) {
							var n;
							return (0, o.default)(this, r), ((n = t.call(this))._config = e || {}), (n._socket = null), (n._loggedIn = !1), (n._reconnectTimes = 0), (n._reconnectionTicket = null), (n._refreshReconnectionTicket = null), (n._cacheMsgs = []), n;
						}
						return (
							(0, a.default)(r, [
								{
									key: 'connect',
									value: function (e, t, r) {
										var n = this,
											i = ['polling', 'websocket'],
											o = ['websocket'],
											a = [];
										return new Promise(function (t, s) {
											var u = { reconnection: !0, reconnectionAttempts: 10, reconnectionDelay: 1e3, reconnectionDelayMax: 5e3, timeout: 1e4, forceNew: !0, transports: o, query: {} },
												c = n._config;
											if (c) {
												if (
													(c.reconnection && 'boolean' == typeof c.reconnection && (u.reconnection = c.reconnection),
													c.reconnectionAttempts && 'number' == typeof c.reconnectionAttempts && c.reconnectionAttempts !== 1 / 0 && !isNaN(c.reconnectionAttempts) && (u.reconnectionAttempts = c.reconnectionAttempts),
													c.reconnectionDelay && 'number' == typeof c.reconnectionDelay && c.reconnectionDelay !== 1 / 0 && !isNaN(c.reconnectionDelay) && (u.reconnectionDelay = c.reconnectionDelay),
													c.reconnectionDelayMax && 'number' == typeof c.reconnectionDelayMax && c.reconnectionDelayMax !== 1 / 0 && !isNaN(c.reconnectionDelayMax) && (u.reconnectionDelayMax = c.reconnectionDelayMax),
													c.forceNew && 'boolean' == typeof c.forceNew && (u.forceNew = c.forceNew),
													c.timeout && 'number' == typeof c.timeout && c.timeout !== 1 / 0 && !isNaN(c.timeout) && (u.timeout = c.timeout),
													c.transports)
												) {
													h.isString(c.transports) ? a.push(c.transports) : h.isArray(c.transports) ? (a = c.transports) : l.default.error('transports is error:' + c.transports);
													for (var d = 0; d < a.length; d++) i.indexOf(a[d]) < 0 && (l.default.error('unsupported transports:' + a[d]), a.splice(d, 1), d--);
													a.length > 0 && (u.transports = a);
												}
												c.query && (u.query = c.query),
													(c.query && c.query.forwardingMarker && 'string' == typeof c.query.forwardingMarker) ||
														(u.query.forwardingMarker = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (e) {
															var t = (16 * Math.random()) | 0;
															return ('x' == e ? t : (3 & t) | 8).toString(16);
														})),
													(c.query && c.query.servicePath && 'string' == typeof c.query.servicePath) || (u.query.servicePath = '_zms_portal'),
													(n._config = u);
											}
											'weapp' === h.sysInfo().runtime.name ? (n._socket = (0, y.default)(e, u)) : (n._socket = (0, v.default)(e, u)),
												['participant', 'text', 'stream', 'progress', 'asr', 'speaking', 'coshow', 'custom', 'sip'].forEach(function (e) {
													n._socket.on(e, function (t) {
														n.dispatchEvent(new f.MessageEvent('data', { message: { notification: e, data: t } }));
													});
												}),
												n._socket.io.on('reconnect', function (e) {
													n._reconnectTimes = e;
												}),
												n._socket.io.on('reconnect_attempt', function (e) {
													(n._reconnectTimes = e), n._loggedIn && n.dispatchEvent(new f.ReconnectingEvent('reconnecting', e));
												}),
												n._socket.io.on('reconnect_failed', function () {
													n._reconnectTimes >= u.reconnectionAttempts && n.dispatchEvent(new f.IRtcEvent('disconnect'));
												}),
												n._socket.on('connect_error', function (t) {
													l.default.warning('connect_error', t, new Date(), n._reconnectTimes), n._loggedIn ? n._reconnectTimes >= u.reconnectionAttempts && (n._loggedIn = !1) : n._reconnectTimes >= 2 && (s('connect_error:'.concat(e)), (n._reconnectTimes = 0), n._socket && (n._socket.off(), n._socket.disconnect(), (n._socket = null)));
												}),
												n._socket.on('drop', function () {
													n._reconnectTimes = u.reconnectionAttempts;
												}),
												n._socket.on('disconnect', function () {
													n._clearReconnectionTask(), n._reconnectTimes >= u.reconnectionAttempts && ((n._loggedIn = !1), (n._reconnectTimes = 0), n._socket && (n._socket.off(), n._socket.disconnect(), (n._socket = null)), n.dispatchEvent(new f.IRtcEvent('disconnect')));
												}),
												n._socket.emit('login', r, function (e, r) {
													'ok' === e &&
														((n._loggedIn = !0),
														n._onReconnectionTicket(r.reconnectionTicket),
														n._socket.on('connect', function () {
															n._socket.emit('relogin', n._reconnectionTicket, function (e, r) {
																if ('ok' === e) {
																	if (n._cacheMsgs.length > 0) {
																		var i,
																			o = g(n._cacheMsgs);
																		try {
																			for (o.s(); !(i = o.n()).done; ) {
																				var a = i.value,
																					u = a.name,
																					c = a.data;
																				n._socket.emit(u, c, function (e, r) {
																					k(e, r, t, s);
																				});
																			}
																		} catch (e) {
																			o.e(e);
																		} finally {
																			o.f();
																		}
																		n._cacheMsgs = [];
																	}
																	n.dispatchEvent(new f.IRtcEvent('reconnected')), (n._reconnectTimes = 0), n._onReconnectionTicket(r);
																} else n.dispatchEvent(new f.IRtcEvent('disconnect'));
															});
														})),
														k(e, r, t, s);
												});
										});
									},
								},
								{
									key: 'disconnect',
									value: function () {
										var e = this;
										return !this._socket || this._socket.disconnected
											? Promise.reject(new d.ConferenceError('Portal is not connected.'))
											: new Promise(function (t, r) {
													var n = setTimeout(function () {
														r('Server not responsed.'), (n = null), (e._reconnectTimes = e._config.reconnectionAttempts), e._socket && e._socket.disconnect();
													}, 2e3);
													e._socket.emit('logout', function (i, o) {
														n && (clearTimeout(n), (n = null), (e._reconnectTimes = e._config.reconnectionAttempts), e._socket && e._socket.disconnect(), k(i, o, t, r));
													});
											  });
									},
								},
								{
									key: 'send',
									value: function (e, t, r) {
										var n = this;
										return new Promise(function (i, o) {
											n._socket && n._socket.connected
												? n._socket.emit(e, t, function (e, t) {
														k(e, t, i, o);
												  })
												: (r && n._cacheMsgs.push({ name: e, data: t }), o('server not connected.'));
										});
									},
								},
								{
									key: '_onReconnectionTicket',
									value: function (e) {
										var t = this;
										this._reconnectionTicket = e;
										var r = JSON.parse(p.Base64.decodeBase64(e)),
											n = Date.now();
										if (r.notAfter <= n - 1e4) l.default.warning('Reconnection ticket expires too soon.');
										else {
											var i = r.notAfter - n - 6e4;
											i < 0 && (i = r.notAfter - n - 1e4),
												this._clearReconnectionTask(),
												(this._refreshReconnectionTicket = setTimeout(function () {
													t._socket.emit('refreshReconnectionTicket', function (e, r) {
														'ok' === e ? t._onReconnectionTicket(r) : l.default.warning('Failed to refresh reconnection ticket.');
													});
												}, i));
										}
									},
								},
								{
									key: '_clearReconnectionTask',
									value: function () {
										clearTimeout(this._refreshReconnectionTicket), (this._refreshReconnectionTicket = null);
									},
								},
							]),
							r
						);
					})(f.EventDispatcher);
					r.SioSignaling = E;
				},
				{
					'../../dependencies/socket.io.js': 27,
					'../../dependencies/weapp.socket.io.js': 28,
					'../base/base64.js': 29,
					'../base/event.js': 31,
					'../base/logger.js': 33,
					'../base/utils.js': 40,
					'./error.js': 43,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			51: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.SipUpdateInfo = r.SipRegisteredInfo = r.SipRegisteredFailedEvent = r.SipIncomingInfo = r.SipIncomingEvent = r.SipIncomingCancelInfo = r.SipIncomingCancelEvent = r.SipDTMFInfo = r.SipDTMFEvent = r.SipCallUpdateEvent = r.SipCallClosedInfo = r.SipCallClosedEvent = void 0);
					var i = n(e('@babel/runtime/helpers/inherits')),
						o = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						a = n(e('@babel/runtime/helpers/getPrototypeOf')),
						s = n(e('@babel/runtime/helpers/createClass')),
						u = n(e('@babel/runtime/helpers/classCallCheck')),
						c = e('../base/event.js');
					function l(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, a.default)(e);
							if (t) {
								var i = (0, a.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, o.default)(this, r);
						};
					}
					var f = (0, s.default)(function e(t, r, n, i, o, a) {
						(0, u.default)(this, e), (this.id = t), (this.peerURI = r), (this.audio = n), (this.video = i), (this.calleeID = o), (this.xHeaders = a);
					});
					r.SipIncomingInfo = f;
					var d = (0, s.default)(function e(t, r) {
						(0, u.default)(this, e), (this.id = t), (this.peerURI = r);
					});
					r.SipIncomingCancelInfo = d;
					var h = (0, s.default)(function e(t, r) {
						(0, u.default)(this, e), (this.id = t), (this.peerURI = r);
					});
					r.SipCallClosedInfo = h;
					var p = (0, s.default)(function e(t, r) {
						(0, u.default)(this, e), (this.user = t), (this.server = r);
					});
					r.SipRegisteredInfo = p;
					var v = (0, s.default)(function e(t, r, n, i, o, a) {
						(0, u.default)(this, e), (this.id = t), (this.type = r), (this.peerURI = n), (this.duration = i), (this.key = o), (this.end = a);
					});
					r.SipDTMFInfo = v;
					var y = (0, s.default)(function e(t, r, n, i, o) {
						(0, u.default)(this, e), (this.id = t), (this.audio = r), (this.audio_dir = n), (this.video = i), (this.video_dir = o);
					});
					r.SipUpdateInfo = y;
					var m = (function (e) {
						(0, i.default)(r, e);
						var t = l(r);
						function r(e) {
							var n;
							return (0, u.default)(this, r), ((n = t.call(this, 'incoming-call')).info = e), n;
						}
						return (0, s.default)(r);
					})(c.IRtcEvent);
					r.SipIncomingEvent = m;
					var b = (function (e) {
						(0, i.default)(r, e);
						var t = l(r);
						function r(e) {
							var n;
							return (0, u.default)(this, r), ((n = t.call(this, 'incoming-call-cancelled')).info = e), n;
						}
						return (0, s.default)(r);
					})(c.IRtcEvent);
					r.SipIncomingCancelEvent = b;
					var g = (function (e) {
						(0, i.default)(r, e);
						var t = l(r);
						function r(e) {
							var n;
							return (0, u.default)(this, r), ((n = t.call(this, 'call-closed')).info = e), n;
						}
						return (0, s.default)(r);
					})(c.IRtcEvent);
					r.SipCallClosedEvent = g;
					var w = (function (e) {
						(0, i.default)(r, e);
						var t = l(r);
						function r(e) {
							var n;
							return (0, u.default)(this, r), ((n = t.call(this, 'registered-failed')).info = e), n;
						}
						return (0, s.default)(r);
					})(c.IRtcEvent);
					r.SipRegisteredFailedEvent = w;
					var _ = (function (e) {
						(0, i.default)(r, e);
						var t = l(r);
						function r(e) {
							var n;
							return (0, u.default)(this, r), ((n = t.call(this, 'dtmf')).info = e), n;
						}
						return (0, s.default)(r);
					})(c.IRtcEvent);
					r.SipDTMFEvent = _;
					var k = (function (e) {
						(0, i.default)(r, e);
						var t = l(r);
						function r(e) {
							var n;
							return (0, u.default)(this, r), ((n = t.call(this, 'call-update')).info = e), n;
						}
						return (0, s.default)(r);
					})(c.IRtcEvent);
					r.SipCallUpdateEvent = k;
				},
				{ '../base/event.js': 31, '@babel/runtime/helpers/classCallCheck': 6, '@babel/runtime/helpers/createClass': 11, '@babel/runtime/helpers/getPrototypeOf': 13, '@babel/runtime/helpers/inherits': 14, '@babel/runtime/helpers/interopRequireDefault': 15, '@babel/runtime/helpers/possibleConstructorReturn': 20 },
			],
			52: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }),
						(r.convertToPublicationSettings = function (e) {
							var t, r, n, s, u, c, l, f;
							e.audio && (e.audio.format && (r = new a.AudioCodecParameters(e.audio.format.codec, e.audio.format.channelNum, e.audio.format.sampleRate)), (t = new i.AudioPublicationSettings(r)));
							e.video &&
								(e.video.format && (s = new a.VideoCodecParameters(e.video.format.codec, e.video.format.profile)),
								e.video.parameters && (e.video.parameters.resolution && (u = new o.Resolution(e.video.parameters.resolution.width, e.video.parameters.resolution.height)), (c = e.video.parameters.framerate), (l = 1e3 * e.video.parameters.bitrate), (f = e.video.parameters.keyFrameInterval)),
								(n = new i.VideoPublicationSettings(s, u, c, l, f)));
							return new i.PublicationSettings(t, n);
						}),
						(r.convertToSubscriptionCapabilities = function (e) {
							var t, r;
							if (e.audio) {
								var n = [];
								if ((e.audio && e.audio.format && n.push(new a.AudioCodecParameters(e.audio.format.codec, e.audio.format.channelNum, e.audio.format.sampleRate)), e.audio && e.audio.optional && e.audio.optional.format)) {
									var i,
										u = l(e.audio.optional.format);
									try {
										for (u.s(); !(i = u.n()).done; ) {
											var c = i.value,
												f = new a.AudioCodecParameters(c.codec, c.channelNum, c.sampleRate);
											n.push(f);
										}
									} catch (e) {
										u.e(e);
									} finally {
										u.f();
									}
								}
								n.sort(), (t = new s.AudioSubscriptionCapabilities(n));
							}
							if (e.video) {
								var p = [];
								if ((e.video && e.video.format && p.push(new a.VideoCodecParameters(e.video.format.codec, e.video.format.profile)), e.video && e.video.optional && e.video.optional.format)) {
									var v,
										y = l(e.video.optional.format);
									try {
										for (y.s(); !(v = y.n()).done; ) {
											var m = v.value,
												b = new a.VideoCodecParameters(m.codec, m.profile);
											p.push(b);
										}
									} catch (e) {
										y.e(e);
									} finally {
										y.f();
									}
								}
								p.sort();
								var g = Array.from(e.video.optional.parameters.resolution, function (e) {
									return new o.Resolution(e.width, e.height);
								});
								e.video && e.video.parameters && e.video.parameters.resolution && g.push(new o.Resolution(e.video.parameters.resolution.width, e.video.parameters.resolution.height)), g.sort(h);
								var w = Array.from(e.video.optional.parameters.bitrate, function (e) {
									return (function (e) {
										if ('string' != typeof e || !e.startsWith('x')) return L.Logger.warning('Invalid bitrate multiplier input.'), 0;
										return Number.parseFloat(e.replace(/^x/, ''));
									})(e);
								});
								w.push(1), w.sort(d);
								var _ = JSON.parse(JSON.stringify(e.video.optional.parameters.framerate));
								e.video && e.video.parameters && e.video.parameters.framerate && _.push(e.video.parameters.framerate), _.sort(d);
								var k = JSON.parse(JSON.stringify(e.video.optional.parameters.keyFrameInterval));
								e.video && e.video.parameters && e.video.parameters.keyFrameInterval && k.push(e.video.parameters.keyFrameInterval), k.sort(d), (r = new s.VideoSubscriptionCapabilities(p, g, _, w, k));
							}
							return new s.SubscriptionCapabilities(t, r);
						});
					var i = c(e('../base/publication.js')),
						o = c(e('../base/mediaformat.js')),
						a = c(e('../base/codec.js')),
						s = c(e('./subscription.js'));
					function u(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (u = function (e) {
							return e ? r : t;
						})(e);
					}
					function c(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== n(e) && 'function' != typeof e)) return { default: e };
						var r = u(t);
						if (r && r.has(e)) return r.get(e);
						var i = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(i, a, s) : (i[a] = e[a]);
							}
						return (i.default = e), r && r.set(e, i), i;
					}
					function l(e, t) {
						var r = ('undefined' != typeof Symbol && e[Symbol.iterator]) || e['@@iterator'];
						if (!r) {
							if (
								Array.isArray(e) ||
								(r = (function (e, t) {
									if (!e) return;
									if ('string' == typeof e) return f(e, t);
									var r = Object.prototype.toString.call(e).slice(8, -1);
									'Object' === r && e.constructor && (r = e.constructor.name);
									if ('Map' === r || 'Set' === r) return Array.from(e);
									if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return f(e, t);
								})(e)) ||
								(t && e && 'number' == typeof e.length)
							) {
								r && (e = r);
								var n = 0,
									i = function () {};
								return {
									s: i,
									n: function () {
										return n >= e.length ? { done: !0 } : { done: !1, value: e[n++] };
									},
									e: function (e) {
										throw e;
									},
									f: i,
								};
							}
							throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
						}
						var o,
							a = !0,
							s = !1;
						return {
							s: function () {
								r = r.call(e);
							},
							n: function () {
								var e = r.next();
								return (a = e.done), e;
							},
							e: function (e) {
								(s = !0), (o = e);
							},
							f: function () {
								try {
									a || null == r.return || r.return();
								} finally {
									if (s) throw o;
								}
							},
						};
					}
					function f(e, t) {
						(null == t || t > e.length) && (t = e.length);
						for (var r = 0, n = new Array(t); r < t; r++) n[r] = e[r];
						return n;
					}
					function d(e, t) {
						return e - t;
					}
					function h(e, t) {
						return e.width !== t.width ? e.width - t.width : e.height - t.height;
					}
				},
				{ '../base/codec.js': 30, '../base/mediaformat.js': 34, '../base/publication.js': 36, './subscription.js': 53, '@babel/runtime/helpers/typeof': 24 },
			],
			53: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.VideoSubscriptionUpdateOptions = r.VideoSubscriptionConstraints = r.VideoSubscriptionCapabilities = r.SubscriptionUpdateOptions = r.SubscriptionCapabilities = r.Subscription = r.SubscribeOptions = r.AudioSubscriptionConstraints = r.AudioSubscriptionCapabilities = void 0);
					var o = n(e('@babel/runtime/helpers/assertThisInitialized')),
						a = n(e('@babel/runtime/helpers/inherits')),
						s = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						u = n(e('@babel/runtime/helpers/get')),
						c = n(e('@babel/runtime/helpers/getPrototypeOf')),
						l = n(e('@babel/runtime/helpers/classPrivateFieldSet')),
						f = n(e('@babel/runtime/helpers/classPrivateFieldGet')),
						d = n(e('@babel/runtime/helpers/createClass')),
						h = n(e('@babel/runtime/helpers/classCallCheck')),
						p = m(e('../base/utils.js')),
						v = (m(e('../base/mediaformat.js')), m(e('../base/codec.js')), e('../base/event.js'));
					function y(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (y = function (e) {
							return e ? r : t;
						})(e);
					}
					function m(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
						var r = y(t);
						if (r && r.has(e)) return r.get(e);
						var n = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var a in e)
							if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
								var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
								s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
							}
						return (n.default = e), r && r.set(e, n), n;
					}
					function b(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, c.default)(e);
							if (t) {
								var i = (0, c.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, s.default)(this, r);
						};
					}
					function g(e, t, r) {
						!(function (e, t) {
							if (t.has(e)) throw new TypeError('Cannot initialize the same private elements twice on an object');
						})(e, t),
							t.set(e, r);
					}
					var w = (0, d.default)(function e(t) {
						(0, h.default)(this, e), (this.codecs = t);
					});
					r.AudioSubscriptionCapabilities = w;
					var _ = (0, d.default)(function e(t, r, n, i, o) {
						(0, h.default)(this, e), (this.codecs = t), (this.resolutions = r), (this.frameRates = n), (this.bitrateMultipliers = i), (this.keyFrameIntervals = o);
					});
					r.VideoSubscriptionCapabilities = _;
					var k = (0, d.default)(function e(t, r) {
						(0, h.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.SubscriptionCapabilities = k;
					var E = (0, d.default)(function e(t) {
						(0, h.default)(this, e), (this.codecs = t);
					});
					r.AudioSubscriptionConstraints = E;
					var S = (0, d.default)(function e(t, r, n, i, o) {
						(0, h.default)(this, e), (this.codecs = t), (this.resolution = r), (this.frameRate = n), (this.bitrateMultiplier = i), (this.keyFrameInterval = o);
					});
					r.VideoSubscriptionConstraints = S;
					var R = (0, d.default)(function e(t, r) {
						(0, h.default)(this, e), (this.audio = t), (this.video = r);
					});
					r.SubscribeOptions = R;
					var C = (0, d.default)(function e() {
						(0, h.default)(this, e), (this.resolution = void 0), (this.frameRate = void 0), (this.bitrateMultipliers = void 0), (this.keyFrameInterval = void 0);
					});
					r.VideoSubscriptionUpdateOptions = C;
					var A = (0, d.default)(function e() {
						(0, h.default)(this, e), (this.video = void 0);
					});
					r.SubscriptionUpdateOptions = A;
					var O = new WeakMap(),
						P = new WeakMap(),
						T = new WeakMap(),
						j = new WeakMap(),
						x = new WeakMap(),
						I = new WeakMap(),
						M = new WeakMap(),
						B = new WeakMap(),
						D = new WeakMap(),
						L = new WeakMap(),
						N = new WeakMap(),
						U = new WeakMap(),
						q = new WeakMap(),
						W = new WeakMap(),
						F = new WeakMap(),
						Y = (function (e) {
							(0, a.default)(r, e);
							var t = b(r);
							function r(e, n, i, a, s, u, c, d) {
								var p;
								if (
									((0, h.default)(this, r),
									(p = t.call(this)),
									g((0, o.default)(p), O, { writable: !0, value: null }),
									g((0, o.default)(p), P, { writable: !0, value: null }),
									g((0, o.default)(p), T, { writable: !0, value: null }),
									g((0, o.default)(p), j, { writable: !0, value: null }),
									g((0, o.default)(p), x, { writable: !0, value: null }),
									g((0, o.default)(p), I, { writable: !0, value: null }),
									g((0, o.default)(p), M, { writable: !0, value: null }),
									g((0, o.default)(p), B, { writable: !0, value: null }),
									g((0, o.default)(p), D, { writable: !0, value: null }),
									g((0, o.default)(p), L, { writable: !0, value: null }),
									g((0, o.default)(p), N, { writable: !0, value: null }),
									g((0, o.default)(p), U, { writable: !0, value: null }),
									g((0, o.default)(p), q, { writable: !0, value: 0 }),
									g((0, o.default)(p), W, { writable: !0, value: 0 }),
									g((0, o.default)(p), F, { writable: !0, value: 0 }),
									!e)
								)
									throw new TypeError('ID cannot be null or undefined.');
								return (
									Object.defineProperty((0, o.default)(p), 'id', { configurable: !1, writable: !1, value: e }),
									(p.stop = function () {
										return (0, f.default)((0, o.default)(p), P) && (clearInterval((0, f.default)((0, o.default)(p), P)), (0, l.default)((0, o.default)(p), P, null), (0, l.default)((0, o.default)(p), T, null), (0, l.default)((0, o.default)(p), j, null)), n();
									}),
									(p.getStats = i),
									(p.getConnectionStats = a),
									(p.getConnectionSummary = function () {
										return (0, f.default)((0, o.default)(p), q) > 0 ? new v.ConnectionSummary(Math.round((100 * (0, f.default)((0, o.default)(p), F)) / (0, f.default)((0, o.default)(p), q)), Math.round((0, f.default)((0, o.default)(p), W) / (0, f.default)((0, o.default)(p), q))) : new v.ConnectionSummary(0, 0);
									}),
									(p.mute = s),
									(p.unmute = u),
									(p.applyOptions = c),
									(0, l.default)((0, o.default)(p), O, d),
									(0, l.default)((0, o.default)(p), x, function () {
										p.getStats().then(function (e) {
											var t = 0;
											e.forEach(function (e) {
												'true' === e.googActiveConnection && 'googCandidatePair' === e.type && e.googRtt ? (t = Number(e.googRtt)) : 'candidate-pair' === e.type && 'succeeded' === e.state && e.currentRoundTripTime && (t = 1e3 * Number(e.currentRoundTripTime));
											}),
												0 === t &&
													((0, f.default)((0, o.default)(p), N) ? ((0, f.default)((0, o.default)(p), N).video ? (t = (0, f.default)((0, o.default)(p), N).video.rtt_ms) : (0, f.default)((0, o.default)(p), N).audio && (t = (0, f.default)((0, o.default)(p), N).audio.rtt_ms)) : (0, f.default)((0, o.default)(p), O).call((0, o.default)(p), 'connection-status', { id: p.id })),
												(0, l.default)((0, o.default)(p), I, t);
										});
									}),
									(p.onRemoteConnectionStatus = function (e) {
										(0, l.default)((0, o.default)(p), N, e);
									}),
									p
								);
							}
							return (
								(0, d.default)(r, [
									{
										key: 'addEventListener',
										value: function (e, t) {
											var n = this;
											if (((0, u.default)((0, c.default)(r.prototype), 'addEventListener', this).call(this, e, t), 'quality-report' === e && !(0, f.default)(this, P))) {
												(0, l.default)(
													this,
													P,
													setInterval(function () {
														(0, f.default)(n, x).call(n),
															n.getConnectionStats().then(function (t) {
																var r = 0,
																	i = 0,
																	o = 0,
																	a = 0,
																	s = 0,
																	u = 0;
																if (
																	(t.audio && (t.audio.nackCount ? ((r += t.audio.nackCount), (i += t.audio.nackCount)) : t.audio.packetsLost && ((r += t.audio.packetsLost), (i += t.audio.packetsLost)), (i += t.audio.packetsReceived)),
																	t.audio && (a = t.audio.bytesReceived),
																	t.video &&
																		((p.isFirefox() || p.isSafari()) && ((r = 0), (i = 0)),
																		t.video.nackCount ? ((r += t.video.nackCount), (i += t.video.nackCount)) : t.video.packetsLost && ((r += t.video.packetsLost), (i += t.video.packetsLost)),
																		(i += t.video.packetsReceived),
																		(o = t.video.framesReceived),
																		(s = t.video.bytesReceived),
																		(u = t.video.totalDecodeTime)),
																	(0, f.default)(n, j))
																) {
																	var c,
																		d = 0;
																	(d = i - (0, f.default)(n, j) == 0 ? ('connected' !== t.connectionState ? 100 : 0) : Math.round((100 * (r - (0, f.default)(n, T))) / (i - (0, f.default)(n, j)))),
																		(0, l.default)(n, M, 30),
																		o - (0, f.default)(n, B) > 0 && (0, l.default)(n, M, (0, f.default)(n, M) + Math.round((1e3 * (u - (0, f.default)(n, U))) / (o - (0, f.default)(n, B)))),
																		(0, l.default)(n, M, (0, f.default)(n, M) + (0, f.default)(n, I)),
																		(0, l.default)(n, W, (0, f.default)(n, W) + (0, f.default)(n, M));
																	var h,
																		y = 0;
																	if ((o > 0 && ((0, f.default)(n, B) && (y = Math.round((1e3 * (o - (0, f.default)(n, B))) / 3e3)), (0, l.default)(n, B, o)), t.video && y < 10 && (0, f.default)(n, q) > 1)) (0, l.default)(n, F, ((h = (0, f.default)(n, F)), h++, h));
																	var m = 0;
																	a > 0 && ((0, f.default)(n, D) && (m = Math.round((8 * (a - (0, f.default)(n, D))) / 3e3)), (0, l.default)(n, D, a));
																	var b = 0;
																	s > 0 && ((0, f.default)(n, L) && (b = Math.round((8 * (s - (0, f.default)(n, L))) / 3e3)), (0, l.default)(n, L, s));
																	var g = new v.QualityInfo(d, (0, f.default)(n, M), y, m, b),
																		w = new v.QualityCriterion(1),
																		_ = 100 - g.packetloss * w.packetloss,
																		k = _ >= 85 ? v.QualityReportStatus.GOOD : v.QualityReportStatus.BAD,
																		E = new v.QualityReport(k, _, g, w),
																		S = new v.QualityReportEvent(e, E);
																	n.dispatchEvent(S), (0, l.default)(n, q, ((c = (0, f.default)(n, q)), c++, c));
																}
																(0, l.default)(n, T, r), (0, l.default)(n, j, i), (0, l.default)(n, U, u);
															});
													}, 3e3)
												);
											}
										},
									},
									{
										key: 'removeEventListener',
										value: function (e, t) {
											(0, u.default)((0, c.default)(r.prototype), 'removeEventListener', this).call(this, e, t),
												'quality-report' === e &&
													0 === (0, u.default)((0, c.default)(r.prototype), 'getEventListener', this).call(this, e).length &&
													(0, f.default)(this, P) &&
													(clearInterval((0, f.default)(this, P)), (0, l.default)(this, P, null), (0, l.default)(this, T, null), (0, l.default)(this, j, null), (0, l.default)(this, I, 0), (0, l.default)(this, B, null), (0, l.default)(this, D, null), (0, l.default)(this, L, null));
										},
									},
									{
										key: 'clearEventListener',
										value: function (e) {
											(0, u.default)((0, c.default)(r.prototype), 'clearEventListener', this).call(this, e),
												'quality-report' === e && (0, f.default)(this, P) && (clearInterval((0, f.default)(this, P)), (0, l.default)(this, P, null), (0, l.default)(this, T, null), (0, l.default)(this, j, null), (0, l.default)(this, I, 0), (0, l.default)(this, B, null), (0, l.default)(this, D, null), (0, l.default)(this, L, null));
										},
									},
								]),
								r
							);
						})(v.EventDispatcher);
					r.Subscription = Y;
				},
				{
					'../base/codec.js': 30,
					'../base/event.js': 31,
					'../base/mediaformat.js': 34,
					'../base/utils.js': 40,
					'@babel/runtime/helpers/assertThisInitialized': 3,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/classPrivateFieldGet': 8,
					'@babel/runtime/helpers/classPrivateFieldSet': 9,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/get': 12,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			54: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/interopRequireDefault'),
						i = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Whiteboard = void 0);
					var o = n(e('@babel/runtime/helpers/createClass')),
						a = n(e('@babel/runtime/helpers/classCallCheck')),
						s = n(e('@babel/runtime/helpers/assertThisInitialized')),
						u = n(e('@babel/runtime/helpers/inherits')),
						c = n(e('@babel/runtime/helpers/possibleConstructorReturn')),
						l = n(e('@babel/runtime/helpers/getPrototypeOf'));
					function f(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (f = function (e) {
							return e ? r : t;
						})(e);
					}
					function d(e) {
						var t = (function () {
							if ('undefined' == typeof Reflect || !Reflect.construct) return !1;
							if (Reflect.construct.sham) return !1;
							if ('function' == typeof Proxy) return !0;
							try {
								return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
							} catch (e) {
								return !1;
							}
						})();
						return function () {
							var r,
								n = (0, l.default)(e);
							if (t) {
								var i = (0, l.default)(this).constructor;
								r = Reflect.construct(n, arguments, i);
							} else r = n.apply(this, arguments);
							return (0, c.default)(this, r);
						};
					}
					var h = (function (e) {
						(0, u.default)(r, e);
						var t = d(r);
						function r(e, n, i, o, u) {
							var c;
							return (
								(0, a.default)(this, r),
								(c = t.call(this)),
								Object.defineProperty((0, s.default)(c), 'id', { configurable: !1, writable: !1, value: e }),
								Object.defineProperty((0, s.default)(c), 'owner', { configurable: !1, writable: !1, value: n }),
								Object.defineProperty((0, s.default)(c), 'name', { configurable: !1, writable: !1, value: i }),
								Object.defineProperty((0, s.default)(c), 'path', { configurable: !1, writable: !1, value: o }),
								Object.defineProperty((0, s.default)(c), 'attributes', { configurable: !1, writable: !1, value: u }),
								c
							);
						}
						return (0, o.default)(r);
					})(
						(function (e, t) {
							if (!t && e && e.__esModule) return e;
							if (null === e || ('object' !== i(e) && 'function' != typeof e)) return { default: e };
							var r = f(t);
							if (r && r.has(e)) return r.get(e);
							var n = {},
								o = Object.defineProperty && Object.getOwnPropertyDescriptor;
							for (var a in e)
								if ('default' !== a && Object.prototype.hasOwnProperty.call(e, a)) {
									var s = o ? Object.getOwnPropertyDescriptor(e, a) : null;
									s && (s.get || s.set) ? Object.defineProperty(n, a, s) : (n[a] = e[a]);
								}
							(n.default = e), r && r.set(e, n);
							return n;
						})(e('../base/event.js')).EventDispatcher
					);
					r.Whiteboard = h;
				},
				{
					'../base/event.js': 31,
					'@babel/runtime/helpers/assertThisInitialized': 3,
					'@babel/runtime/helpers/classCallCheck': 6,
					'@babel/runtime/helpers/createClass': 11,
					'@babel/runtime/helpers/getPrototypeOf': 13,
					'@babel/runtime/helpers/inherits': 14,
					'@babel/runtime/helpers/interopRequireDefault': 15,
					'@babel/runtime/helpers/possibleConstructorReturn': 20,
					'@babel/runtime/helpers/typeof': 24,
				},
			],
			55: [
				function (e, t, r) {
					'use strict';
					var n = e('@babel/runtime/helpers/typeof');
					Object.defineProperty(r, '__esModule', { value: !0 }), (r.Conference = r.Base = void 0);
					var i = s(e('./base/export.js')),
						o = s(e('./conference/export.js'));
					function a(e) {
						if ('function' != typeof WeakMap) return null;
						var t = new WeakMap(),
							r = new WeakMap();
						return (a = function (e) {
							return e ? r : t;
						})(e);
					}
					function s(e, t) {
						if (!t && e && e.__esModule) return e;
						if (null === e || ('object' !== n(e) && 'function' != typeof e)) return { default: e };
						var r = a(t);
						if (r && r.has(e)) return r.get(e);
						var i = {},
							o = Object.defineProperty && Object.getOwnPropertyDescriptor;
						for (var s in e)
							if ('default' !== s && Object.prototype.hasOwnProperty.call(e, s)) {
								var u = o ? Object.getOwnPropertyDescriptor(e, s) : null;
								u && (u.get || u.set) ? Object.defineProperty(i, s, u) : (i[s] = e[s]);
							}
						return (i.default = e), r && r.set(e, i), i;
					}
					var u = i;
					r.Base = u;
					var c = o;
					r.Conference = c;
				},
				{ './base/export.js': 32, './conference/export.js': 44, '@babel/runtime/helpers/typeof': 24 },
			],
		},
		{},
		[55]
	)(55);
});
